From 2de696822734b0d2257314d0bb5ecc23e5604452 Mon Sep 17 00:00:00 2001 From: Robin Mills Date: Fri, 9 Sep 2016 08:26:01 +0000 Subject: [PATCH] #1223 Thank you to Alexey for reporting this and providing the patch. --- src/easyaccess.cpp | 4 -- src/pentaxmn.cpp | 94 ++++++++++++++++++++++------------ src/pentaxmn_int.hpp | 33 ++++++------ test/bugfixes-test.sh | 8 +++ test/data/RAW_PENTAX_K100.exv | Bin 0 -> 60269 bytes test/data/RAW_PENTAX_K30.exv | Bin 0 -> 9453 bytes test/data/bugfixes-test.out | Bin 1912065 -> 1912198 bytes 7 files changed, 85 insertions(+), 54 deletions(-) create mode 100644 test/data/RAW_PENTAX_K100.exv create mode 100644 test/data/RAW_PENTAX_K30.exv diff --git a/src/easyaccess.cpp b/src/easyaccess.cpp index 2fdef255..30218745 100644 --- a/src/easyaccess.cpp +++ b/src/easyaccess.cpp @@ -21,9 +21,6 @@ /* File: easyaccess.cpp Version: $Rev$ - Author(s): Carsten Pfeiffer - Andreas Huggel (ahu) - History: 28-Feb-09, gis: created */ // ***************************************************************************** #include "rcsid_int.hpp" @@ -161,7 +158,6 @@ namespace Exiv2 { if (md_st == ed.end()) break; // otherwise pick up actual value and grab value accordingly - const char *st_key = 0; // nullptr std::ostringstream os; md_st->write(os, &ed); bool ok = false; diff --git a/src/pentaxmn.cpp b/src/pentaxmn.cpp index 18ae3a8a..7a6ab68e 100644 --- a/src/pentaxmn.cpp +++ b/src/pentaxmn.cpp @@ -21,12 +21,6 @@ /* File: pentaxmn.cpp Version: $Rev$ - Author(s): Michal Cihar - Based on fujimn.cpp by: - Andreas Huggel (ahu) - Gilles Caulier (gc) - History: 27-Sep-07 created - Credits: See header file. */ // ***************************************************************************** #include "rcsid_int.hpp" @@ -44,11 +38,9 @@ EXIV2_RCSID("@(#) $Id$") #include "i18n.h" // NLS support. // + standard includes -#include -#include +#include #include -#include -#include +#include // ***************************************************************************** // class member definitions @@ -1013,7 +1005,7 @@ namespace Exiv2 { { 4, N_("Custom") }, }; - std::ostream& PentaxMakerNote::printPentaxVersion(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printVersion(std::ostream& os, const Value& value, const ExifData*) { std::string val = value.toString(); size_t i; @@ -1024,7 +1016,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxResolution(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printResolution(std::ostream& os, const Value& value, const ExifData*) { std::string val = value.toString(); size_t i; @@ -1035,7 +1027,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxDate(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printDate(std::ostream& os, const Value& value, const ExifData*) { /* I choose same format as is used inside EXIF itself */ os << ((value.toLong(0) << 8) + value.toLong(1)); @@ -1046,7 +1038,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxTime(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printTime(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setw(2) << std::setfill('0') << value.toLong(0); @@ -1058,13 +1050,13 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxExposure(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printExposure(std::ostream& os, const Value& value, const ExifData*) { os << static_cast(value.toLong()) / 100 << " ms"; return os; } - std::ostream& PentaxMakerNote::printPentaxFValue(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printFValue(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << "F" << std::setprecision(2) @@ -1073,7 +1065,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxFocalLength(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printFocalLength(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::fixed << std::setprecision(1) @@ -1083,7 +1075,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxCompensation(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printCompensation(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setprecision(2) @@ -1093,13 +1085,13 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxTemperature(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printTemperature(std::ostream& os, const Value& value, const ExifData*) { os << value.toLong() << " C"; return os; } - std::ostream& PentaxMakerNote::printPentaxFlashCompensation(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printFlashCompensation(std::ostream& os, const Value& value, const ExifData*) { std::ios::fmtflags f( os.flags() ); os << std::setprecision(2) @@ -1109,7 +1101,7 @@ namespace Exiv2 { return os; } - std::ostream& PentaxMakerNote::printPentaxBracketing(std::ostream& os, const Value& value, const ExifData*) + std::ostream& PentaxMakerNote::printBracketing(std::ostream& os, const Value& value, const ExifData*) { long l0 = value.toLong(0); @@ -1160,6 +1152,42 @@ namespace Exiv2 { return os; } + std::ostream& PentaxMakerNote::printShutterCount(std::ostream& os, const Value& value, const ExifData* metadata) + { + ExifData::const_iterator dateIt = metadata->findKey( + ExifKey("Exif.PentaxDng.Date")); + if (dateIt == metadata->end()) { + dateIt = metadata->findKey(ExifKey("Exif.Pentax.Date")); + } + ExifData::const_iterator timeIt = metadata->findKey( + ExifKey("Exif.PentaxDng.Time")); + if (timeIt == metadata->end()) { + timeIt = metadata->findKey(ExifKey("Exif.Pentax.Time")); + } + if ( dateIt == metadata->end() || dateIt->size() != 4 || + timeIt == metadata->end() || timeIt->size() != 3 || + value.size() != 4) { + os << "undefined"; + return os; + } + const uint32_t date = + (dateIt->toLong(0) << 24) + (dateIt->toLong(1) << 16) + + (dateIt->toLong(2) << 8) + (dateIt->toLong(3) << 0); + const uint32_t time = + (timeIt->toLong(0) << 24) + (timeIt->toLong(1) << 16) + + (timeIt->toLong(2) << 8); + const uint32_t countEnc = + (value.toLong(0) << 24) + (value.toLong(1) << 16) + + (value.toLong(2) << 8) + (value.toLong(3) << 0); + // The shutter count is encoded using date and time values stored + // in Pentax-specific tags. The prototype for the encoding/decoding + // function is taken from Phil Harvey's ExifTool: Pentax.pm file, + // CryptShutterCount() routine. + const uint32_t count = countEnc ^ date ^ (~time); + os << count; + return os; + } + // #1144 begin static std::string getKeyString(const std::string& key,const ExifData* metadata) { @@ -1389,13 +1417,13 @@ namespace Exiv2 { const TagInfo PentaxMakerNote::tagInfo_[] = { TagInfo(0x0000, "Version", N_("Version"), N_("Pentax Makernote version"), - pentaxId, makerTags, undefined, -1, printPentaxVersion), + pentaxId, makerTags, undefined, -1, printVersion), TagInfo(0x0001, "Mode", N_("Shooting mode"), N_("Camera shooting mode"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxShootingMode)), TagInfo(0x0002, "PreviewResolution", N_("Resolution of a preview image"), N_("Resolution of a preview image"), - pentaxId, makerTags, undefined, -1, printPentaxResolution), + pentaxId, makerTags, undefined, -1, printResolution), TagInfo(0x0003, "PreviewLength", N_("Length of a preview image"), N_("Size of an IFD containing a preview image"), pentaxId, makerTags, undefined, -1, printValue), @@ -1407,10 +1435,10 @@ namespace Exiv2 { pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxModel)), TagInfo(0x0006, "Date", N_("Date"), N_("Date"), - pentaxId, makerTags, undefined, -1, printPentaxDate), + pentaxId, makerTags, undefined, -1, printDate), TagInfo(0x0007, "Time", N_("Time"), N_("Time"), - pentaxId, makerTags, undefined, -1, printPentaxTime), + pentaxId, makerTags, undefined, -1, printTime), TagInfo(0x0008, "Quality", N_("Image quality"), N_("Image quality settings"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxQuality)), @@ -1433,24 +1461,24 @@ namespace Exiv2 { /* Some missing ! */ TagInfo(0x0012, "ExposureTime", N_("Exposure time"), N_("Exposure time"), - pentaxId, makerTags, unsignedLong, -1, printPentaxExposure), + pentaxId, makerTags, unsignedLong, -1, printExposure), TagInfo(0x0013, "FNumber", N_("F-Number"), N_("F-Number"), - pentaxId, makerTags, unsignedLong, -1, printPentaxFValue), + pentaxId, makerTags, unsignedLong, -1, printFValue), TagInfo(0x0014, "ISO", N_("ISO sensitivity"), N_("ISO sensitivity settings"), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxISO)), /* Some missing ! */ TagInfo(0x0016, "ExposureCompensation", N_("Exposure compensation"), N_("Exposure compensation"), - pentaxId, makerTags, unsignedLong, -1, printPentaxCompensation), + pentaxId, makerTags, unsignedLong, -1, printCompensation), /* Some missing ! */ TagInfo(0x0017, "MeteringMode", N_("MeteringMode"), N_("MeteringMode"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxMeteringMode)), TagInfo(0x0018, "AutoBracketing", N_("AutoBracketing"), N_("AutoBracketing"), - pentaxId, makerTags, undefined, -1, printPentaxBracketing), + pentaxId, makerTags, undefined, -1, printBracketing), TagInfo(0x0019, "WhiteBalance", N_("White balance"), N_("White balance"), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalance)), @@ -1465,7 +1493,7 @@ namespace Exiv2 { pentaxId, makerTags, unsignedLong, -1, printValue), TagInfo(0x001d, "FocalLength", N_("FocalLength"), N_("FocalLength"), - pentaxId, makerTags, undefined, -1, printPentaxFocalLength), + pentaxId, makerTags, undefined, -1, printFocalLength), TagInfo(0x001e, "DigitalZoom", N_("Digital zoom"), N_("Digital zoom"), pentaxId, makerTags, unsignedLong, -1, printValue), @@ -1542,7 +1570,7 @@ namespace Exiv2 { /* Some missing ! */ TagInfo(0x0047, "Temperature", N_("Temperature"), N_("Camera temperature"), - pentaxId, makerTags, signedByte, -1, printPentaxTemperature), + pentaxId, makerTags, signedByte, -1, printTemperature), TagInfo(0x0048, "AELock", N_("AE lock"), N_("AE lock"), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), @@ -1552,7 +1580,7 @@ namespace Exiv2 { /* Some missing ! */ TagInfo(0x004d, "FlashExposureCompensation", N_("Flash exposure compensation"), N_("Flash exposure compensation"), - pentaxId, makerTags, signedLong, -1, printPentaxFlashCompensation), + pentaxId, makerTags, signedLong, -1, printFlashCompensation), /* Some missing ! */ TagInfo(0x004f, "ImageTone", N_("Image tone"), N_("Image tone"), @@ -1566,7 +1594,7 @@ namespace Exiv2 { pentaxId, makerTags, undefined, -1, printValue), TagInfo(0x005d, "ShutterCount", N_("Shutter count"), N_("Shutter count"), - pentaxId, makerTags, undefined, -1, printValue), /* TODO: This has some encryption by date (see exiftool) */ + pentaxId, makerTags, undefined, -1, printShutterCount), TagInfo(0x0069, "DynamicRangeExpansion", N_("Dynamic range expansion"), N_("Dynamic range expansion"), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDynamicRangeExpansion, 4, 0)), diff --git a/src/pentaxmn_int.hpp b/src/pentaxmn_int.hpp index af9a7428..08715461 100644 --- a/src/pentaxmn_int.hpp +++ b/src/pentaxmn_int.hpp @@ -25,9 +25,6 @@ based on ExifTool implementation and Pentax Makernote list by Phil Harvey
@version $Rev$ - @author Michal Cihar - michal@cihar.com - @date 27-Sep-07 */ #ifndef PENTAXMN_INT_HPP_ #define PENTAXMN_INT_HPP_ @@ -39,10 +36,8 @@ #include "types.hpp" // + standard includes -#include #include #include -#include // ***************************************************************************** // namespace extensions @@ -59,27 +54,29 @@ namespace Exiv2 { static const TagInfo* tagList(); //! Print Pentax version - static std::ostream& printPentaxVersion(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printVersion(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax resolution - static std::ostream& printPentaxResolution(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printResolution(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax date - static std::ostream& printPentaxDate(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printDate(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax time - static std::ostream& printPentaxTime(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printTime(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax exposure - static std::ostream& printPentaxExposure(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printExposure(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax F value - static std::ostream& printPentaxFValue(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printFValue(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax focal length - static std::ostream& printPentaxFocalLength(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printFocalLength(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax compensation - static std::ostream& printPentaxCompensation(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printCompensation(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax temperature - static std::ostream& printPentaxTemperature(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printTemperature(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax flash compensation - static std::ostream& printPentaxFlashCompensation(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printFlashCompensation(std::ostream& os, const Value& value, const ExifData*); //! Print Pentax bracketing - static std::ostream& printPentaxBracketing(std::ostream& os, const Value& value, const ExifData*); + static std::ostream& printBracketing(std::ostream& os, const Value& value, const ExifData*); + //! Print Pentax shutter count + static std::ostream& printShutterCount(std::ostream& os, const Value& value, const ExifData*); private: //! Tag information @@ -123,6 +120,8 @@ namespace Exiv2 { //! Shortcut for the printCombiTag template which requires typing the array name only once. #define EXV_PRINT_COMBITAG_MULTI(array, count, ignoredcount, ignoredcountmax) printCombiTag -}} // namespace Internal, Exiv2 + } // namespace Internal +} // namespace Exiv2 + #endif // #ifndef PENTAXMN_INT_HPP_ diff --git a/test/bugfixes-test.sh b/test/bugfixes-test.sh index 4e01a02a..f8e147e2 100755 --- a/test/bugfixes-test.sh +++ b/test/bugfixes-test.sh @@ -567,6 +567,14 @@ source ./functions.source runTest exiv2 -K Exif.CanonCs.FocusContinuous $filename done + num=1223 + printf "$num " >&3 + filename=exiv2-bug$num.jpg + copyTestFile RAW_PENTAX_K30.exv + copyTestFile RAW_PENTAX_K100.exv + runTest exiv2 -pa --grep Shutter RAW_PENTAX_K30.exv + runTest exiv2 -pa --grep Shutter RAW_PENTAX_K100.exv + ) 3>&1 > $results 2>&1 printf "\n" diff --git a/test/data/RAW_PENTAX_K100.exv b/test/data/RAW_PENTAX_K100.exv new file mode 100644 index 0000000000000000000000000000000000000000..761b06db4d7091c6178773080f3538215f51ce84 GIT binary patch literal 60269 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 Taf{F2ni)v`0fU=l_&fa{flQi< literal 0 HcmV?d00001 diff --git a/test/data/RAW_PENTAX_K30.exv b/test/data/RAW_PENTAX_K30.exv new file mode 100644 index 0000000000000000000000000000000000000000..59b29acfb0a4332dc07a8fb7d15079c4caf0c007 GIT binary patch literal 9453 zcmeI2Yitx%6vxlZ?5o?-Ev1xK=}ybjwzS*bwm?BBB3R_rAXI~jm9#tp@+eTsdj$iP zKxvmgwzZAb5MMFU1SR+&Rv}G4iQkHbXhB2N5UfOqDcbda_TFsXg`wX#SX9?Tm{SEMVZ~^pw@I)~8?JPUiZ>bl8CrhpZKctFxR~I-PIzQ_QI0Kvs{vJF9TndiI z&1@N;3UCheHt74od0RruSW-4>%>_tlDLMqVWQLN{_Y>( z-^1@+PL}qdv*x+>luJn(z4S{8H~XHXxMtt;8$H?B5NND#2nHK!8yf?GV@K*woD9@A zx3s)ke>Bik6Krj2X>F>lYkH-jzBO21TU~uD7_6^44%6D>$7+rTPSgf!Yk}1#>H;VK z;``tAliv>+79ajf;qYU8t=K@fJX(y}VXWsOO1v7C%!(eCm8Hq;dH$OneI0!TxjjGk zkpDKN`E}goLoF}SX=n_&-HJ6D_Uas^Pl0=kfW&ZdTwEATJR&R@{jucoyEi|qt$c8G(r0?mUdgt$I)Etr$Jg_yVy!z`$x@~ zj2C06G@9oB%8~bFD$BbVCi>Jx+Zoa?XlbVyR^75Z*}{q)B9D@ zqDR=RH)*Bq?8x2+HH+WQ54vyOGb3O|;QthXFS78@bE`N8+8sx6^qM@R$P2Ig`l?%M zp~9(t+-dStH4Z;)#StmKgZ5(CCF-)^jmXC!NrA@aVCjDPV78`aM!<}K838i_W(3R# zm=Q1|U`D`1*GPcBv!cOrBCpF delta 71 zcmV~$i48z706@{WZ>n|c2BzsQ9f0J=L=u}w=rZ0rojpFg