diff --git a/rtengine/curves.cc b/rtengine/curves.cc index 6d60ce3c4..8eb9efa14 100644 --- a/rtengine/curves.cc +++ b/rtengine/curves.cc @@ -76,6 +76,8 @@ Curve::~Curve () { delete [] x; delete [] y; delete [] ypp; + poly_x.empty(); + poly_y.empty(); } void Curve::spline_cubic_set () { @@ -159,7 +161,7 @@ void Curve::NURBS_set () { sc_length.begin(); // create the polyline with the number of points adapted to the X range of the sub-curve - for (int i=0; i < sc_x.size(); i+=3) { + for (unsigned int i=0; i < sc_x.size(); i+=3) { // TODO: Speeding-up the interface by caching the polyline, instead of rebuilding it at each action on sliders !!! int nbr_points = (int)(((double)ppn+N-2) * sc_length[i/3] / total_length) + (i==0 ? 1 : 0); @@ -287,7 +289,7 @@ void Curve::getVal (const std::vector& t, std::vector& res) { // TODO!!!! can be made much faster!!! Binary search of getVal(double) at each point can be avoided res.resize (t.size()); - for (int i=0; icrops.push_back (this); } diff --git a/rtengine/iccstore.cc b/rtengine/iccstore.cc index 32a146f44..8e9ba21ef 100644 --- a/rtengine/iccstore.cc +++ b/rtengine/iccstore.cc @@ -36,7 +36,7 @@ const char* wpnames[] = {"sRGB", "Adobe RGB", "ProPhoto", "WideGamut", "BruceRGB std::vector getWorkingProfiles () { std::vector res; - for (int i=0; i ImageData::getIPTCData () const { IptcDataSet* ds = NULL; procparams::IPTCPair ickw; ickw.field = "Keywords"; - while (ds=iptc_data_get_next_dataset (iptc, ds, IPTC_RECORD_APP_2, IPTC_TAG_KEYWORDS)) { + while ((ds=iptc_data_get_next_dataset (iptc, ds, IPTC_RECORD_APP_2, IPTC_TAG_KEYWORDS))) { iptc_dataset_get_data (ds, buffer, 2100); ickw.values.push_back (safe_locale_to_utf8((char*)buffer)); } @@ -329,12 +329,13 @@ const std::vector ImageData::getIPTCData () const { ds = NULL; procparams::IPTCPair icsc; icsc.field = "SupplementalCategories"; - while (ds=iptc_data_get_next_dataset (iptc, ds, IPTC_RECORD_APP_2, IPTC_TAG_SUPPL_CATEGORY)) { + while ((ds=iptc_data_get_next_dataset (iptc, ds, IPTC_RECORD_APP_2, IPTC_TAG_SUPPL_CATEGORY))) { iptc_dataset_get_data (ds, buffer, 2100); icsc.values.push_back (safe_locale_to_utf8((char*)buffer)); iptc_dataset_unref (ds); } iptcc.push_back (icsc); + return iptcc; } //------inherited functions--------------// diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index 6185cc053..615e5a11e 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -772,6 +772,7 @@ int ImageIO::load (Glib::ustring fname) { return loadJPEG (fname); else if (!fname.casefold().compare (lastdot, 4, ".tif")) return loadTIFF (fname); + else return IMIO_FILETYPENOTSUPPORTED; } int ImageIO::save (Glib::ustring fname) { @@ -784,5 +785,6 @@ int ImageIO::save (Glib::ustring fname) { return saveJPEG (fname); else if (!fname.casefold().compare (lastdot, 4, ".tif")) return saveTIFF (fname); + else return IMIO_FILETYPENOTSUPPORTED; } diff --git a/rtengine/imageio.h b/rtengine/imageio.h index 8095dcc02..5c7a2a033 100644 --- a/rtengine/imageio.h +++ b/rtengine/imageio.h @@ -25,6 +25,7 @@ #define IMIO_HEADERERROR 3 #define IMIO_READERROR 4 #define IMIO_VARIANTNOTSUPPORTED 5 +#define IMIO_FILETYPENOTSUPPORTED 6 #include #include @@ -51,7 +52,7 @@ class ImageIO { public: static Glib::ustring errorMsg[6]; - ImageIO () : pl (NULL), embProfile(NULL), profileData(NULL), exifRoot (NULL), iptc(NULL), loadedProfileData(NULL), loadedProfileLength(0) {} + ImageIO () : pl (NULL), embProfile(NULL), profileData(NULL), loadedProfileData(NULL), loadedProfileLength(0), iptc(NULL), exifRoot (NULL) {} virtual ~ImageIO (); diff --git a/rtengine/improccoordinator.cc b/rtengine/improccoordinator.cc index fc66c93e9..d9458024a 100644 --- a/rtengine/improccoordinator.cc +++ b/rtengine/improccoordinator.cc @@ -28,11 +28,10 @@ namespace rtengine { extern Settings* settings; ImProcCoordinator::ImProcCoordinator () - : ipf(¶ms, true), allocated(false), scale(-1), pW(-1), pH(-1), - plistener(NULL), imageListener(NULL), aeListener(NULL), hListener(NULL), - resultValid(false), awbComputed(false), - changeSinceLast(0), updaterRunning(false), - destroying(false) { + : awbComputed(false), ipf(¶ms, true), scale(-1), allocated(false), + pW(-1), pH(-1), plistener(NULL), imageListener(NULL), + aeListener(NULL), hListener(NULL), resultValid(false), + changeSinceLast(0), updaterRunning(false), destroying(false) { } void ImProcCoordinator::assign (ImageSource* imgsrc) { diff --git a/rtengine/improcfun.cc b/rtengine/improcfun.cc index 4735100c2..eb37cffb2 100644 --- a/rtengine/improcfun.cc +++ b/rtengine/improcfun.cc @@ -257,15 +257,20 @@ void ImProcFunctions::rgbProc (Image16* working, LabImage* lab, int* tonecurve, TMatrix wprof = iccStore.workingSpaceMatrix (params->icm.working); int toxyz[3][3] = { - floor(32768.0 * wprof[0][0] / 0.96422), - floor(32768.0 * wprof[0][1]), - floor(32768.0 * wprof[0][2] / 0.82521), - floor(32768.0 * wprof[1][0] / 0.96422), - floor(32768.0 * wprof[1][1]), - floor(32768.0 * wprof[1][2] / 0.82521), - floor(32768.0 * wprof[2][0] / 0.96422), - floor(32768.0 * wprof[2][1]), - floor(32768.0 * wprof[2][2] / 0.82521)}; + { + floor(32768.0 * wprof[0][0] / 0.96422), + floor(32768.0 * wprof[0][1]), + floor(32768.0 * wprof[0][2] / 0.82521) + },{ + floor(32768.0 * wprof[1][0] / 0.96422), + floor(32768.0 * wprof[1][1]), + floor(32768.0 * wprof[1][2] / 0.82521) + },{ + floor(32768.0 * wprof[2][0] / 0.96422), + floor(32768.0 * wprof[2][1]), + floor(32768.0 * wprof[2][2] / 0.82521) + } + }; bool mixchannels = params->chmixer.red[0]!=100 || params->chmixer.red[1]!=0 || params->chmixer.red[2]!=0 || params->chmixer.green[0]!=0 || params->chmixer.green[1]!=100 || params->chmixer.green[2]!=0 || params->chmixer.blue[0]!=0 || params->chmixer.blue[1]!=0 || params->chmixer.blue[2]!=100; diff --git a/rtengine/iptcpairs.h b/rtengine/iptcpairs.h index 5efdb79dd..d8256383d 100644 --- a/rtengine/iptcpairs.h +++ b/rtengine/iptcpairs.h @@ -26,22 +26,24 @@ struct IptcPair { Glib::ustring field; }; -const IptcPair strTags[] = {IPTC_TAG_CAPTION, 2000, "Caption", - IPTC_TAG_WRITER_EDITOR, 32, "CaptionWriter", - IPTC_TAG_HEADLINE, 256, "Headline", - IPTC_TAG_SPECIAL_INSTRUCTIONS, 256, "Instructions", - IPTC_TAG_CATEGORY, 3, "Category", - IPTC_TAG_BYLINE, 32, "Author", - IPTC_TAG_BYLINE_TITLE, 32, "AuthorsPosition", - IPTC_TAG_CREDIT, 32, "Credit", - IPTC_TAG_SOURCE, 32, "Source", - IPTC_TAG_COPYRIGHT_NOTICE, 128, "Copyright", - IPTC_TAG_CITY, 32, "City", - IPTC_TAG_STATE, 32, "Province", - IPTC_TAG_COUNTRY_NAME, 64, "Country", - IPTC_TAG_OBJECT_NAME, 64, "Title", - IPTC_TAG_ORIG_TRANS_REF, 32, "TransReference", - IPTC_TAG_DATE_CREATED, 8, "DateCreated"}; +const IptcPair strTags[] = { + {IPTC_TAG_CAPTION, 2000, "Caption"}, + {IPTC_TAG_WRITER_EDITOR, 32, "CaptionWriter"}, + {IPTC_TAG_HEADLINE, 256, "Headline"}, + {IPTC_TAG_SPECIAL_INSTRUCTIONS, 256, "Instructions"}, + {IPTC_TAG_CATEGORY, 3, "Category"}, + {IPTC_TAG_BYLINE, 32, "Author"}, + {IPTC_TAG_BYLINE_TITLE, 32, "AuthorsPosition"}, + {IPTC_TAG_CREDIT, 32, "Credit"}, + {IPTC_TAG_SOURCE, 32, "Source"}, + {IPTC_TAG_COPYRIGHT_NOTICE, 128, "Copyright"}, + {IPTC_TAG_CITY, 32, "City"}, + {IPTC_TAG_STATE, 32, "Province"}, + {IPTC_TAG_COUNTRY_NAME, 64, "Country"}, + {IPTC_TAG_OBJECT_NAME, 64, "Title"}, + {IPTC_TAG_ORIG_TRANS_REF, 32, "TransReference"}, + {IPTC_TAG_DATE_CREATED, 8, "DateCreated"} +}; #endif diff --git a/rtengine/labimage.cc b/rtengine/labimage.cc index 34a4cec73..d6f351c8e 100644 --- a/rtengine/labimage.cc +++ b/rtengine/labimage.cc @@ -1,7 +1,7 @@ #include namespace rtengine { -LabImage::LabImage (int w, int h) : W(w), H(h), fromImage(false) { +LabImage::LabImage (int w, int h) : fromImage(false), W(w), H(h) { L = new unsigned short*[H]; for (int i=0; i values = iptc[i].values; keyFile.set_string_list ("IPTC", iptc[i].field, values); } @@ -560,7 +560,7 @@ if (keyFile.has_group ("Equalizer")) { if (keyFile.has_group ("Exif")) { std::vector keys = keyFile.get_keys ("Exif"); exif.resize (keys.size()); - for (int i=0; i keys = keyFile.get_keys ("IPTC"); iptc.resize (keys.size()); - for (int i=0; i%s\n", e.what().c_str()); + return 1; } catch (...) { printf ("-->unknown exception!\n"); diff --git a/rtengine/rawimagesource.cc b/rtengine/rawimagesource.cc index a9aa2a881..f4ca5e100 100644 --- a/rtengine/rawimagesource.cc +++ b/rtengine/rawimagesource.cc @@ -47,7 +47,7 @@ extern const Settings* settings; #define MIN(a,b) ((a)>(b)?(b):(a)) #define DIST(a,b) (ABS(a-b)) -RawImageSource::RawImageSource () : ImageSource(), plistener(NULL), green(NULL), red(NULL), blue(NULL), cache(NULL), border(4) { +RawImageSource::RawImageSource () : ImageSource(), plistener(NULL), border(4), cache(NULL), green(NULL), red(NULL), blue(NULL) { hrmap[0] = NULL; hrmap[1] = NULL; @@ -1127,7 +1127,7 @@ void RawImageSource::colorSpaceConversion (Image16* im, ColorManagementParams cm // cmsDoTransform (hTransform, im->data, im->data, im->planestride/2); // cmsDeleteTransform(hTransform); TMatrix work = iccStore.workingSpaceInverseMatrix (cmp.working); - double mat[3][3] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; + double mat[3][3] = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}; for (int i=0; i<3; i++) for (int j=0; j<3; j++) for (int k=0; k<3; k++) @@ -1958,7 +1958,7 @@ void RawImageSource::transformPosition (int x, int y, int tran, int& ttx, int& t ColorTemp RawImageSource::getSpotWB (std::vector red, std::vector green, std::vector& blue, int tran) { int x; int y; - int d[9][2] = {0,0, -1,-1, -1,0, -1,1, 0,-1, 0,1, 1,-1, 1,0, 1,1}; + int d[9][2] = {{0,0}, {-1,-1}, {-1,0}, {-1,1}, {0,-1}, {0,1}, {1,-1}, {1,0}, {1,1}}; double reds = 0, greens = 0, blues = 0; int rn = 0, gn = 0, bn = 0; diff --git a/rtengine/rtthumbnail.cc b/rtengine/rtthumbnail.cc index 0f4cdafe7..a0177cd98 100644 --- a/rtengine/rtthumbnail.cc +++ b/rtengine/rtthumbnail.cc @@ -150,7 +150,7 @@ unsigned short Thumbnail::igammatab[256]; unsigned char Thumbnail::gammatab[65536]; Thumbnail::Thumbnail () : - embProfile(NULL), camProfile(NULL), aeHistogram(NULL), thumbImg(NULL), embProfileData(NULL) { + camProfile(NULL), thumbImg(NULL), aeHistogram(NULL), embProfileData(NULL), embProfile(NULL) { if (!igammacomputed) { for (int i=0; i<256; i++) diff --git a/rtengine/stdimagesource.cc b/rtengine/stdimagesource.cc index beb547684..a42a72d26 100644 --- a/rtengine/stdimagesource.cc +++ b/rtengine/stdimagesource.cc @@ -43,7 +43,7 @@ template T** allocArray (int W, int H) { } #define HR_SCALE 2 -StdImageSource::StdImageSource () : ImageSource(), plistener(NULL), img(NULL) { +StdImageSource::StdImageSource () : ImageSource(), img(NULL), plistener(NULL) { hrmap[0] = NULL; hrmap[1] = NULL; diff --git a/rtexif/canonattribs.cc b/rtexif/canonattribs.cc index 30d9b537e..a1fa3c99c 100644 --- a/rtexif/canonattribs.cc +++ b/rtexif/canonattribs.cc @@ -799,60 +799,60 @@ CAModelIDInterpreter caModelIDInterpreter; const TagAttrib canonAttribs[] = { - 0, 1, 0, 0, 0x0001, "CanonCameraSettings", &caCameraSettingsInterpreter, - 0, 1, 0, 0, 0x0002, "CanonFocalLength", &caFocalLengthInterpreter, - 0, 1, 0, 0, 0x0003, "CanonFlashInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0004, "CanonShotInfo", &caShotInfoInterpreter, - 0, 1, 0, 0, 0x0005, "CanonPanorama", &stdInterpreter, - 0, 1, 0, 0, 0x0006, "CanonImageType", &stdInterpreter, - 0, 1, 0, 0, 0x0007, "CanonFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0008, "FileNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0009, "OwnerName", &stdInterpreter, - 0, 1, 0, 0, 0x000a, "ColorInfoD30", &stdInterpreter, - 0, 1, 0, 0, 0x000c, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x000d, "CanonCameraInfo", &stdInterpreter, - 0, 1, 0, 0, 0x000e, "CanonFileLength", &stdInterpreter, - 0, 1, 0, 0, 0x000f, "CustomFunctions", &stdInterpreter, - 0, 1, 0, 0, 0x0010, "CanonModelID", &caModelIDInterpreter, - 0, 1, 0, 0, 0x0012, "CanonAFInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0015, "SerialNumberFormat", &stdInterpreter, - 0, 1, 0, 0, 0x001c, "DateStampMode", &stdInterpreter, - 0, 1, 0, 0, 0x001d, "MyColors", &stdInterpreter, - 0, 1, 0, 0, 0x001e, "FirmwareRevision", &stdInterpreter, - 0, 3, 0, 0, 0x0024, "FaceDetect1", &stdInterpreter, - 0, 3, 0, 0, 0x0025, "FaceDetect2", &stdInterpreter, - 0, 1, 0, 0, 0x0026, "CanonAFInfo2", &stdInterpreter, - 0, 1, 0, 0, 0x0083, "OriginalDecisionData", &stdInterpreter, - 0, 1, 0, 0, 0x0090, "CustomFunctions1D", &stdInterpreter, - 0, 1, 0, 0, 0x0091, "PersonalFunctions", &stdInterpreter, - 0, 1, 0, 0, 0x0092, "PersonalFunctionValues", &stdInterpreter, - 0, 1, 0, 0, 0x0093, "CanonFileInfo", &caFileInfoInterpreter, - 0, 1, 0, 0, 0x0094, "AFPointsInFocus1D", &stdInterpreter, - 0, 1, 0, 0, 0x0095, "LensType", &stdInterpreter, - 0, 1, 0, 0, 0x0096, "InternalSerialNumber", &caIntSerNumInterpreter, - 0, 1, 0, 0, 0x0097, "DustRemovalData", &stdInterpreter, - 0, 1, 0, 0, 0x0099, "CustomFunctions2", &stdInterpreter, - 0, 1, 0, 0, 0x00a0, "ProccessingInfo", &caProcessingInfoInterpreter, - 0, 1, 0, 0, 0x00a1, "ToneCurveTable", &stdInterpreter, - 0, 1, 0, 0, 0x00a2, "SharpnessTable", &stdInterpreter, - 0, 1, 0, 0, 0x00a3, "SharpnessFreqTable", &stdInterpreter, - 0, 1, 0, 0, 0x00a4, "WhiteBalanceTable", &stdInterpreter, - 0, 1, 0, 0, 0x00a9, "ColorBalance", &stdInterpreter, - 0, 1, 0, 0, 0x00ae, "ColorTemperature", &stdInterpreter, - 0, 3, 0, 0, 0x00b0, "CanonFlags", &stdInterpreter, - 0, 1, 0, 0, 0x00b1, "ModifiedInfo", &stdInterpreter, - 0, 1, 0, 0, 0x00b2, "ToneCurveMatching", &stdInterpreter, - 0, 1, 0, 0, 0x00b3, "WhiteBalanceMatching", &stdInterpreter, - 0, 1, 0, 0, 0x00b4, "ColorSpace", &stdInterpreter, - 1, 1, 0, 0, 0x00b6, "PreviewImageInfo", &stdInterpreter, - 0, 1, 0, 0, 0x00d0, "VRDOffset", &stdInterpreter, - 0, 1, 0, 0, 0x00e0, "SensorInfo", &stdInterpreter, - 0, 1, 0, 0, 0x4001, "ColorBalance", &stdInterpreter, - 0, 1, 0, 0, 0x4002, "UnknownBlock1", &stdInterpreter, - 0, 1, 0, 0, 0x4003, "ColorInfo", &stdInterpreter, - 1, 1, 0, 0, 0x4005, "UnknownBlock2", &stdInterpreter, - 1, 1, 0, 0, 0x4008, "BlackLevel", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0001, "CanonCameraSettings", &caCameraSettingsInterpreter}, + {0, 1, 0, 0, 0x0002, "CanonFocalLength", &caFocalLengthInterpreter}, + {0, 1, 0, 0, 0x0003, "CanonFlashInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0004, "CanonShotInfo", &caShotInfoInterpreter}, + {0, 1, 0, 0, 0x0005, "CanonPanorama", &stdInterpreter}, + {0, 1, 0, 0, 0x0006, "CanonImageType", &stdInterpreter}, + {0, 1, 0, 0, 0x0007, "CanonFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0008, "FileNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0009, "OwnerName", &stdInterpreter}, + {0, 1, 0, 0, 0x000a, "ColorInfoD30", &stdInterpreter}, + {0, 1, 0, 0, 0x000c, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x000d, "CanonCameraInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x000e, "CanonFileLength", &stdInterpreter}, + {0, 1, 0, 0, 0x000f, "CustomFunctions", &stdInterpreter}, + {0, 1, 0, 0, 0x0010, "CanonModelID", &caModelIDInterpreter}, + {0, 1, 0, 0, 0x0012, "CanonAFInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0015, "SerialNumberFormat", &stdInterpreter}, + {0, 1, 0, 0, 0x001c, "DateStampMode", &stdInterpreter}, + {0, 1, 0, 0, 0x001d, "MyColors", &stdInterpreter}, + {0, 1, 0, 0, 0x001e, "FirmwareRevision", &stdInterpreter}, + {0, 3, 0, 0, 0x0024, "FaceDetect1", &stdInterpreter}, + {0, 3, 0, 0, 0x0025, "FaceDetect2", &stdInterpreter}, + {0, 1, 0, 0, 0x0026, "CanonAFInfo2", &stdInterpreter}, + {0, 1, 0, 0, 0x0083, "OriginalDecisionData", &stdInterpreter}, + {0, 1, 0, 0, 0x0090, "CustomFunctions1D", &stdInterpreter}, + {0, 1, 0, 0, 0x0091, "PersonalFunctions", &stdInterpreter}, + {0, 1, 0, 0, 0x0092, "PersonalFunctionValues", &stdInterpreter}, + {0, 1, 0, 0, 0x0093, "CanonFileInfo", &caFileInfoInterpreter}, + {0, 1, 0, 0, 0x0094, "AFPointsInFocus1D", &stdInterpreter}, + {0, 1, 0, 0, 0x0095, "LensType", &stdInterpreter}, + {0, 1, 0, 0, 0x0096, "InternalSerialNumber", &caIntSerNumInterpreter}, + {0, 1, 0, 0, 0x0097, "DustRemovalData", &stdInterpreter}, + {0, 1, 0, 0, 0x0099, "CustomFunctions2", &stdInterpreter}, + {0, 1, 0, 0, 0x00a0, "ProccessingInfo", &caProcessingInfoInterpreter}, + {0, 1, 0, 0, 0x00a1, "ToneCurveTable", &stdInterpreter}, + {0, 1, 0, 0, 0x00a2, "SharpnessTable", &stdInterpreter}, + {0, 1, 0, 0, 0x00a3, "SharpnessFreqTable", &stdInterpreter}, + {0, 1, 0, 0, 0x00a4, "WhiteBalanceTable", &stdInterpreter}, + {0, 1, 0, 0, 0x00a9, "ColorBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x00ae, "ColorTemperature", &stdInterpreter}, + {0, 3, 0, 0, 0x00b0, "CanonFlags", &stdInterpreter}, + {0, 1, 0, 0, 0x00b1, "ModifiedInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x00b2, "ToneCurveMatching", &stdInterpreter}, + {0, 1, 0, 0, 0x00b3, "WhiteBalanceMatching", &stdInterpreter}, + {0, 1, 0, 0, 0x00b4, "ColorSpace", &stdInterpreter}, + {1, 1, 0, 0, 0x00b6, "PreviewImageInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x00d0, "VRDOffset", &stdInterpreter}, + {0, 1, 0, 0, 0x00e0, "SensorInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x4001, "ColorBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x4002, "UnknownBlock1", &stdInterpreter}, + {0, 1, 0, 0, 0x4003, "ColorInfo", &stdInterpreter}, + {1, 1, 0, 0, 0x4005, "UnknownBlock2", &stdInterpreter}, + {1, 1, 0, 0, 0x4008, "BlackLevel", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; }; #endif diff --git a/rtexif/nikonattribs.cc b/rtexif/nikonattribs.cc index 43760590a..ab5ffa360 100644 --- a/rtexif/nikonattribs.cc +++ b/rtexif/nikonattribs.cc @@ -629,89 +629,89 @@ class NALensDataInterpreter : public Interpreter { NALensDataInterpreter naLensDataInterpreter; const TagAttrib nikon2Attribs[] = { - 0, 1, 0, 0, 0x0002, "Unknown", &stdInterpreter, - 0, 1, 0, 0, 0x0003, "Quality", &stdInterpreter, - 0, 1, 0, 0, 0x0004, "ColorMode", &stdInterpreter, - 0, 1, 0, 0, 0x0005, "ImageAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0006, "ISOSpeed", &naISOInterpreter, - 0, 1, 0, 0, 0x0007, "WhiteBalance", &stdInterpreter, - 0, 1, 0, 0, 0x0008, "Focus", &stdInterpreter, - 0, 1, 0, 0, 0x0009, "Unknown", &stdInterpreter, - 0, 1, 0, 0, 0x000a, "DigitalZoom", &stdInterpreter, - 0, 1, 0, 0, 0x000b, "AuxiliaryLens", &stdInterpreter, - 0, 1, 0, 0, 0x0f00, "Unknown", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0002, "Unknown", &stdInterpreter}, + {0, 1, 0, 0, 0x0003, "Quality", &stdInterpreter}, + {0, 1, 0, 0, 0x0004, "ColorMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0005, "ImageAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0006, "ISOSpeed", &naISOInterpreter}, + {0, 1, 0, 0, 0x0007, "WhiteBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x0008, "Focus", &stdInterpreter}, + {0, 1, 0, 0, 0x0009, "Unknown", &stdInterpreter}, + {0, 1, 0, 0, 0x000a, "DigitalZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x000b, "AuxiliaryLens", &stdInterpreter}, + {0, 1, 0, 0, 0x0f00, "Unknown", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib nikon3Attribs[] = { - 0, 1, 0, 0, 0x0001, "MakerNoteVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0002, "ISOSpeed", &naISOInterpreter, - 0, 1, 0, 0, 0x0003, "ColorMode", &stdInterpreter, - 0, 1, 0, 0, 0x0004, "Quality", &stdInterpreter, - 0, 1, 0, 0, 0x0005, "WhiteBalance", &stdInterpreter, - 0, 1, 0, 0, 0x0006, "Sharpness", &stdInterpreter, - 0, 1, 0, 0, 0x0007, "FocusMode", &stdInterpreter, - 0, 1, 0, 0, 0x0008, "FlashSetting", &stdInterpreter, - 0, 1, 0, 0, 0x0009, "FlashType", &stdInterpreter, - 0, 1, 0, 0, 0x000b, "WhiteBalanceFineTune", &stdInterpreter, - 0, 3, 0, 0, 0x000c, "ColorBalance1", &stdInterpreter, - 0, 1, 0, 0, 0x000d, "ProgramShift", &stdInterpreter, - 0, 1, 0, 0, 0x000e, "ExposureDifference", &stdInterpreter, - 0, 1, 0, 0, 0x000f, "ISOSelection", &naISOInterpreter, - 0, 1, 0, 0, 0x0010, "DataDump", &stdInterpreter, - 1, 1, 0, 0, 0x0011, "NikonPreview", &stdInterpreter, - 0, 1, 0, 0, 0x0012, "FlashExposureComp", &stdInterpreter, - 0, 1, 0, 0, 0x0013, "ISOSetting", &stdInterpreter, - 0, 1, 0, 0, 0x0016, "ImageBoundary", &stdInterpreter, - 0, 1, 0, 0, 0x0018, "FlashExposureBracketValue", &stdInterpreter, - 0, 1, 0, 0, 0x0019, "ExposureBracketValue", &stdInterpreter, - 0, 1, 0, 0, 0x001a, "ImageProcessing", &stdInterpreter, - 0, 1, 0, 0, 0x001b, "CropHiSpeed", &stdInterpreter, - 0, 1, 0, 0, 0x001d, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x001e, "ColorSpace", &stdInterpreter, - 0, 1, 0, 0, 0x0020, "ImageAuthentication", &stdInterpreter, - 0, 1, 0, 0, 0x0080, "ImageAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0081, "ToneComp", &stdInterpreter, - 0, 1, 0, 0, 0x0082, "AuxiliaryLens", &stdInterpreter, - 0, 1, 0, 0, 0x0083, "LensType", &naLensTypeInterpreter, - 0, 1, 0, 0, 0x0084, "Lens", &stdInterpreter, - 0, 1, 0, 0, 0x0085, "ManualFocusDistance", &stdInterpreter, - 0, 1, 0, 0, 0x0086, "DigitalZoom", &stdInterpreter, - 0, 1, 0, 0, 0x0087, "FlashMode", &naFlashModeInterpreter, - 0, 1, 0, 0, 0x0088, "AFInfo", &naAFInfoInterpreter, - 0, 1, 0, 0, 0x0089, "ShootingMode", &naShootingModeInterpreter, - 0, 1, 0, 0, 0x008a, "AutoBracketRelease", &stdInterpreter, - 0, 1, 0, 0, 0x008b, "LensFStops", &stdInterpreter, - 0, 1, 0, 0, 0x008c, "NEFCurve1", &stdInterpreter, - 0, 1, 0, 0, 0x008d, "ColorHue", &stdInterpreter, - 0, 1, 0, 0, 0x008f, "SceneMode", &stdInterpreter, - 0, 1, 0, 0, 0x0090, "LightSource", &stdInterpreter, - 0, 1, 0, 0, 0x0091, "ShotInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0092, "HueAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0094, "Saturation", &stdInterpreter, - 0, 1, 0, 0, 0x0095, "NoiseReduction", &stdInterpreter, - 0, 1, 0, 0, 0x0096, "NEFCurve2", &stdInterpreter, - 0, 3, 0, 0, 0x0097, "ColorBalance", &stdInterpreter, - 0, 1, 0, 0, 0x0098, "LensData", &naLensDataInterpreter, - 0, 1, 0, 0, 0x0099, "RawImageCenter", &stdInterpreter, - 0, 1, 0, 0, 0x009a, "SensorPixelSize", &stdInterpreter, - 0, 1, 0, 0, 0x00a0, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x00a2, "ImageDataSize", &stdInterpreter, - 0, 1, 0, 0, 0x00a5, "ImageCount", &stdInterpreter, - 0, 1, 0, 0, 0x00a6, "DeletedImageCount", &stdInterpreter, - 0, 1, 0, 0, 0x00a7, "ShutterCount", &stdInterpreter, - 0, 1, 0, 0, 0x00a9, "ImageOptimization", &stdInterpreter, - 0, 1, 0, 0, 0x00aa, "Saturation", &stdInterpreter, - 0, 1, 0, 0, 0x00ab, "VariProgram", &stdInterpreter, - 0, 1, 0, 0, 0x00ac, "ImageStabilization", &stdInterpreter, - 0, 1, 0, 0, 0x00ad, "AFResponse", &stdInterpreter, - 0, 1, 0, 0, 0x00b0, "MultiExposure", &stdInterpreter, - 0, 1, 0, 0, 0x00b1, "HighISONoiseReduction", &naHiISONRInterpreter, - 0, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter, - 0, 0, 0, 0, 0x0e01, "NikonCaptureData", &stdInterpreter, - 0, 0, 0, 0, 0x0e09, "NikonCaptureVersion", &stdInterpreter, - 0, 0, 0, 0, 0x0e0e, "NikonCaptureOffsets", &stdInterpreter, - 0, 0, 0, 0, 0x0e10, "NikonScanIFD", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0001, "MakerNoteVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0002, "ISOSpeed", &naISOInterpreter}, + {0, 1, 0, 0, 0x0003, "ColorMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0004, "Quality", &stdInterpreter}, + {0, 1, 0, 0, 0x0005, "WhiteBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x0006, "Sharpness", &stdInterpreter}, + {0, 1, 0, 0, 0x0007, "FocusMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0008, "FlashSetting", &stdInterpreter}, + {0, 1, 0, 0, 0x0009, "FlashType", &stdInterpreter}, + {0, 1, 0, 0, 0x000b, "WhiteBalanceFineTune", &stdInterpreter}, + {0, 3, 0, 0, 0x000c, "ColorBalance1", &stdInterpreter}, + {0, 1, 0, 0, 0x000d, "ProgramShift", &stdInterpreter}, + {0, 1, 0, 0, 0x000e, "ExposureDifference", &stdInterpreter}, + {0, 1, 0, 0, 0x000f, "ISOSelection", &naISOInterpreter}, + {0, 1, 0, 0, 0x0010, "DataDump", &stdInterpreter}, + {1, 1, 0, 0, 0x0011, "NikonPreview", &stdInterpreter}, + {0, 1, 0, 0, 0x0012, "FlashExposureComp", &stdInterpreter}, + {0, 1, 0, 0, 0x0013, "ISOSetting", &stdInterpreter}, + {0, 1, 0, 0, 0x0016, "ImageBoundary", &stdInterpreter}, + {0, 1, 0, 0, 0x0018, "FlashExposureBracketValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0019, "ExposureBracketValue", &stdInterpreter}, + {0, 1, 0, 0, 0x001a, "ImageProcessing", &stdInterpreter}, + {0, 1, 0, 0, 0x001b, "CropHiSpeed", &stdInterpreter}, + {0, 1, 0, 0, 0x001d, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x001e, "ColorSpace", &stdInterpreter}, + {0, 1, 0, 0, 0x0020, "ImageAuthentication", &stdInterpreter}, + {0, 1, 0, 0, 0x0080, "ImageAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0081, "ToneComp", &stdInterpreter}, + {0, 1, 0, 0, 0x0082, "AuxiliaryLens", &stdInterpreter}, + {0, 1, 0, 0, 0x0083, "LensType", &naLensTypeInterpreter}, + {0, 1, 0, 0, 0x0084, "Lens", &stdInterpreter}, + {0, 1, 0, 0, 0x0085, "ManualFocusDistance", &stdInterpreter}, + {0, 1, 0, 0, 0x0086, "DigitalZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x0087, "FlashMode", &naFlashModeInterpreter}, + {0, 1, 0, 0, 0x0088, "AFInfo", &naAFInfoInterpreter}, + {0, 1, 0, 0, 0x0089, "ShootingMode", &naShootingModeInterpreter}, + {0, 1, 0, 0, 0x008a, "AutoBracketRelease", &stdInterpreter}, + {0, 1, 0, 0, 0x008b, "LensFStops", &stdInterpreter}, + {0, 1, 0, 0, 0x008c, "NEFCurve1", &stdInterpreter}, + {0, 1, 0, 0, 0x008d, "ColorHue", &stdInterpreter}, + {0, 1, 0, 0, 0x008f, "SceneMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0090, "LightSource", &stdInterpreter}, + {0, 1, 0, 0, 0x0091, "ShotInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0092, "HueAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0094, "Saturation", &stdInterpreter}, + {0, 1, 0, 0, 0x0095, "NoiseReduction", &stdInterpreter}, + {0, 1, 0, 0, 0x0096, "NEFCurve2", &stdInterpreter}, + {0, 3, 0, 0, 0x0097, "ColorBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x0098, "LensData", &naLensDataInterpreter}, + {0, 1, 0, 0, 0x0099, "RawImageCenter", &stdInterpreter}, + {0, 1, 0, 0, 0x009a, "SensorPixelSize", &stdInterpreter}, + {0, 1, 0, 0, 0x00a0, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x00a2, "ImageDataSize", &stdInterpreter}, + {0, 1, 0, 0, 0x00a5, "ImageCount", &stdInterpreter}, + {0, 1, 0, 0, 0x00a6, "DeletedImageCount", &stdInterpreter}, + {0, 1, 0, 0, 0x00a7, "ShutterCount", &stdInterpreter}, + {0, 1, 0, 0, 0x00a9, "ImageOptimization", &stdInterpreter}, + {0, 1, 0, 0, 0x00aa, "Saturation", &stdInterpreter}, + {0, 1, 0, 0, 0x00ab, "VariProgram", &stdInterpreter}, + {0, 1, 0, 0, 0x00ac, "ImageStabilization", &stdInterpreter}, + {0, 1, 0, 0, 0x00ad, "AFResponse", &stdInterpreter}, + {0, 1, 0, 0, 0x00b0, "MultiExposure", &stdInterpreter}, + {0, 1, 0, 0, 0x00b1, "HighISONoiseReduction", &naHiISONRInterpreter}, + {0, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter}, + {0, 0, 0, 0, 0x0e01, "NikonCaptureData", &stdInterpreter}, + {0, 0, 0, 0, 0x0e09, "NikonCaptureVersion", &stdInterpreter}, + {0, 0, 0, 0, 0x0e0e, "NikonCaptureOffsets", &stdInterpreter}, + {0, 0, 0, 0, 0x0e10, "NikonScanIFD", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; } #endif diff --git a/rtexif/olympusattribs.cc b/rtexif/olympusattribs.cc index 5be3c548a..153bf5ff7 100644 --- a/rtexif/olympusattribs.cc +++ b/rtexif/olympusattribs.cc @@ -376,298 +376,298 @@ class OLFlashModelInterpreter : public ChoiceInterpreter { OLFlashModelInterpreter olFlashModelInterpreter; const TagAttrib olyFocusInfoAttribs[] = { - 0, 1, 0, 0, 0x0000, "FocusInfoVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0209, "AutoFocus", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0210, "SceneDetect", &stdInterpreter, - 0, 1, 0, 0, 0x0211, "SceneArea", &stdInterpreter, - 0, 1, 0, 0, 0x0212, "SceneDetectData", &stdInterpreter, - 0, 1, 0, 0, 0x0300, "ZoomStepCount", &stdInterpreter, - 0, 1, 0, 0, 0x0301, "FocusStepCount", &stdInterpreter, - 0, 1, 0, 0, 0x0303, "FocusStepInfinity", &stdInterpreter, - 0, 1, 0, 0, 0x0304, "FocusStepNear", &stdInterpreter, - 0, 1, 0, 0, 0x0305, "FocusDistance", &stdInterpreter, - 0, 1, 0, 0, 0x0308, "AFPoint", &stdInterpreter, - 0, 1, 0, 0, 0x1201, "ExternalFlash", &olOnOffInterpreter, - 0, 1, 0, 0, 0x1203, "ExternalFlashGuideNumber", &stdInterpreter, - 0, 1, 0, 0, 0x1204, "ExternalFlashBounce", &stdInterpreter, - 0, 1, 0, 0, 0x1205, "ExternalFlashZoom", &stdInterpreter, - 0, 1, 0, 0, 0x1208, "InternalFlash", &olOnOffInterpreter, - 0, 1, 0, 0, 0x1209, "ManualFlash", &olOnOffInterpreter, - 0, 1, 0, 0, 0x1500, "SensorTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x1600, "ImageStabilization", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "FocusInfoVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0209, "AutoFocus", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0210, "SceneDetect", &stdInterpreter}, + {0, 1, 0, 0, 0x0211, "SceneArea", &stdInterpreter}, + {0, 1, 0, 0, 0x0212, "SceneDetectData", &stdInterpreter}, + {0, 1, 0, 0, 0x0300, "ZoomStepCount", &stdInterpreter}, + {0, 1, 0, 0, 0x0301, "FocusStepCount", &stdInterpreter}, + {0, 1, 0, 0, 0x0303, "FocusStepInfinity", &stdInterpreter}, + {0, 1, 0, 0, 0x0304, "FocusStepNear", &stdInterpreter}, + {0, 1, 0, 0, 0x0305, "FocusDistance", &stdInterpreter}, + {0, 1, 0, 0, 0x0308, "AFPoint", &stdInterpreter}, + {0, 1, 0, 0, 0x1201, "ExternalFlash", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x1203, "ExternalFlashGuideNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x1204, "ExternalFlashBounce", &stdInterpreter}, + {0, 1, 0, 0, 0x1205, "ExternalFlashZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x1208, "InternalFlash", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x1209, "ManualFlash", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x1500, "SensorTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x1600, "ImageStabilization", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olyImageProcessingAttribs[] = { - 0, 1, 0, 0, 0x0000, "ImageProcessingVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0100, "WB_RBLevels", &stdInterpreter, - 0, 1, 0, 0, 0x0102, "WB_RBLevels3000K", &stdInterpreter, - 0, 1, 0, 0, 0x0103, "WB_RBLevels3300K", &stdInterpreter, - 0, 1, 0, 0, 0x0104, "WB_RBLevels3600K", &stdInterpreter, - 0, 1, 0, 0, 0x0105, "WB_RBLevels3900K", &stdInterpreter, - 0, 1, 0, 0, 0x0106, "WB_RBLevels4000K", &stdInterpreter, - 0, 1, 0, 0, 0x0107, "WB_RBLevels4300K", &stdInterpreter, - 0, 1, 0, 0, 0x0108, "WB_RBLevels4500K", &stdInterpreter, - 0, 1, 0, 0, 0x0109, "WB_RBLevels4800K", &stdInterpreter, - 0, 1, 0, 0, 0x010a, "WB_RBLevels5300K", &stdInterpreter, - 0, 1, 0, 0, 0x010b, "WB_RBLevels6000K", &stdInterpreter, - 0, 1, 0, 0, 0x010c, "WB_RBLevels6600K", &stdInterpreter, - 0, 1, 0, 0, 0x010d, "WB_RBLevels7500K", &stdInterpreter, - 0, 1, 0, 0, 0x010e, "WB_RBLevelsCWB1", &stdInterpreter, - 0, 1, 0, 0, 0x010f, "WB_RBLevelsCWB2", &stdInterpreter, - 0, 1, 0, 0, 0x0110, "WB_RBLevelsCWB3", &stdInterpreter, - 0, 1, 0, 0, 0x0111, "WB_RBLevelsCWB4", &stdInterpreter, - 0, 1, 0, 0, 0x0113, "WB_GLevel3000K", &stdInterpreter, - 0, 1, 0, 0, 0x0114, "WB_GLevel3300K", &stdInterpreter, - 0, 1, 0, 0, 0x0115, "WB_GLevel3600K", &stdInterpreter, - 0, 1, 0, 0, 0x0116, "WB_GLevel3900K", &stdInterpreter, - 0, 1, 0, 0, 0x0117, "WB_GLevel4000K", &stdInterpreter, - 0, 1, 0, 0, 0x0118, "WB_GLevel4300K", &stdInterpreter, - 0, 1, 0, 0, 0x0119, "WB_GLevel4500K", &stdInterpreter, - 0, 1, 0, 0, 0x011a, "WB_GLevel4800K", &stdInterpreter, - 0, 1, 0, 0, 0x011b, "WB_GLevel5300K", &stdInterpreter, - 0, 1, 0, 0, 0x011c, "WB_GLevel6000K", &stdInterpreter, - 0, 1, 0, 0, 0x011d, "WB_GLevel6600K", &stdInterpreter, - 0, 1, 0, 0, 0x011e, "WB_GLevel7500K", &stdInterpreter, - 0, 1, 0, 0, 0x011f, "WB_GLevel", &stdInterpreter, - 0, 1, 0, 0, 0x0200, "ColorMatrix", &stdInterpreter, - 0, 1, 0, 0, 0x0300, "Enhancer", &stdInterpreter, - 0, 1, 0, 0, 0x0301, "EnhancerValues", &stdInterpreter, - 0, 1, 0, 0, 0x0310, "CoringFilter", &stdInterpreter, - 0, 1, 0, 0, 0x0311, "CoringValues", &stdInterpreter, - 0, 1, 0, 0, 0x0600, "BlackLevel2", &stdInterpreter, - 0, 1, 0, 0, 0x0610, "GainBase", &stdInterpreter, - 0, 1, 0, 0, 0x0611, "ValidBits", &stdInterpreter, - 0, 1, 0, 0, 0x0612, "CropLeft", &stdInterpreter, - 0, 1, 0, 0, 0x0613, "CropTop", &stdInterpreter, - 0, 1, 0, 0, 0x0614, "CropWidth", &stdInterpreter, - 0, 1, 0, 0, 0x0615, "CropHeight", &stdInterpreter, - 0, 1, 0, 0, 0x1010, "NoiseReduction2", &stdInterpreter, - 0, 1, 0, 0, 0x1011, "DistortionCorrection2", &olOnOffInterpreter, - 0, 1, 0, 0, 0x1012, "ShadingCompensation2", &olOnOffInterpreter, - 1, 1, 0, 0, 0x1103, "UnknownBlock", &stdInterpreter, - 0, 1, 0, 0, 0x1200, "FaceDetect", &olOnOffInterpreter, - 0, 1, 0, 0, 0x1201, "FaceDetectArea", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "ImageProcessingVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0100, "WB_RBLevels", &stdInterpreter}, + {0, 1, 0, 0, 0x0102, "WB_RBLevels3000K", &stdInterpreter}, + {0, 1, 0, 0, 0x0103, "WB_RBLevels3300K", &stdInterpreter}, + {0, 1, 0, 0, 0x0104, "WB_RBLevels3600K", &stdInterpreter}, + {0, 1, 0, 0, 0x0105, "WB_RBLevels3900K", &stdInterpreter}, + {0, 1, 0, 0, 0x0106, "WB_RBLevels4000K", &stdInterpreter}, + {0, 1, 0, 0, 0x0107, "WB_RBLevels4300K", &stdInterpreter}, + {0, 1, 0, 0, 0x0108, "WB_RBLevels4500K", &stdInterpreter}, + {0, 1, 0, 0, 0x0109, "WB_RBLevels4800K", &stdInterpreter}, + {0, 1, 0, 0, 0x010a, "WB_RBLevels5300K", &stdInterpreter}, + {0, 1, 0, 0, 0x010b, "WB_RBLevels6000K", &stdInterpreter}, + {0, 1, 0, 0, 0x010c, "WB_RBLevels6600K", &stdInterpreter}, + {0, 1, 0, 0, 0x010d, "WB_RBLevels7500K", &stdInterpreter}, + {0, 1, 0, 0, 0x010e, "WB_RBLevelsCWB1", &stdInterpreter}, + {0, 1, 0, 0, 0x010f, "WB_RBLevelsCWB2", &stdInterpreter}, + {0, 1, 0, 0, 0x0110, "WB_RBLevelsCWB3", &stdInterpreter}, + {0, 1, 0, 0, 0x0111, "WB_RBLevelsCWB4", &stdInterpreter}, + {0, 1, 0, 0, 0x0113, "WB_GLevel3000K", &stdInterpreter}, + {0, 1, 0, 0, 0x0114, "WB_GLevel3300K", &stdInterpreter}, + {0, 1, 0, 0, 0x0115, "WB_GLevel3600K", &stdInterpreter}, + {0, 1, 0, 0, 0x0116, "WB_GLevel3900K", &stdInterpreter}, + {0, 1, 0, 0, 0x0117, "WB_GLevel4000K", &stdInterpreter}, + {0, 1, 0, 0, 0x0118, "WB_GLevel4300K", &stdInterpreter}, + {0, 1, 0, 0, 0x0119, "WB_GLevel4500K", &stdInterpreter}, + {0, 1, 0, 0, 0x011a, "WB_GLevel4800K", &stdInterpreter}, + {0, 1, 0, 0, 0x011b, "WB_GLevel5300K", &stdInterpreter}, + {0, 1, 0, 0, 0x011c, "WB_GLevel6000K", &stdInterpreter}, + {0, 1, 0, 0, 0x011d, "WB_GLevel6600K", &stdInterpreter}, + {0, 1, 0, 0, 0x011e, "WB_GLevel7500K", &stdInterpreter}, + {0, 1, 0, 0, 0x011f, "WB_GLevel", &stdInterpreter}, + {0, 1, 0, 0, 0x0200, "ColorMatrix", &stdInterpreter}, + {0, 1, 0, 0, 0x0300, "Enhancer", &stdInterpreter}, + {0, 1, 0, 0, 0x0301, "EnhancerValues", &stdInterpreter}, + {0, 1, 0, 0, 0x0310, "CoringFilter", &stdInterpreter}, + {0, 1, 0, 0, 0x0311, "CoringValues", &stdInterpreter}, + {0, 1, 0, 0, 0x0600, "BlackLevel2", &stdInterpreter}, + {0, 1, 0, 0, 0x0610, "GainBase", &stdInterpreter}, + {0, 1, 0, 0, 0x0611, "ValidBits", &stdInterpreter}, + {0, 1, 0, 0, 0x0612, "CropLeft", &stdInterpreter}, + {0, 1, 0, 0, 0x0613, "CropTop", &stdInterpreter}, + {0, 1, 0, 0, 0x0614, "CropWidth", &stdInterpreter}, + {0, 1, 0, 0, 0x0615, "CropHeight", &stdInterpreter}, + {0, 1, 0, 0, 0x1010, "NoiseReduction2", &stdInterpreter}, + {0, 1, 0, 0, 0x1011, "DistortionCorrection2", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x1012, "ShadingCompensation2", &olOnOffInterpreter}, + {1, 1, 0, 0, 0x1103, "UnknownBlock", &stdInterpreter}, + {0, 1, 0, 0, 0x1200, "FaceDetect", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x1201, "FaceDetectArea", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olyRawDevelopmentAttribs[] = { - 0, 1, 0, 0, 0x0000, "RawDevVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0100, "RawDevExposureBiasValue", &stdInterpreter, - 0, 1, 0, 0, 0x0101, "RawDevWhiteBalanceValue", &stdInterpreter, - 0, 1, 0, 0, 0x0102, "RawDevWBFineAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0103, "RawDevGrayPoint", &stdInterpreter, - 0, 1, 0, 0, 0x0104, "RawDevSaturationEmphasis", &stdInterpreter, - 0, 1, 0, 0, 0x0105, "RawDevMemoryColorEmphasis", &stdInterpreter, - 0, 1, 0, 0, 0x0106, "RawDevContrastValue", &stdInterpreter, - 0, 1, 0, 0, 0x0107, "RawDevSharpnessValue", &stdInterpreter, - 0, 1, 0, 0, 0x0108, "RawDevColorSpace", &olColorSpaceInterpreter, - 0, 1, 0, 0, 0x0109, "RawDevEngine", &olDevEngineInterpreter, - 0, 1, 0, 0, 0x010a, "RawDevNoiseReduction", &olNoiseReductionInterpreter, - 0, 1, 0, 0, 0x010b, "RawDevEditStatus", &stdInterpreter, - 0, 1, 0, 0, 0x010c, "RawDevSettings", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "RawDevVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0100, "RawDevExposureBiasValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0101, "RawDevWhiteBalanceValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0102, "RawDevWBFineAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0103, "RawDevGrayPoint", &stdInterpreter}, + {0, 1, 0, 0, 0x0104, "RawDevSaturationEmphasis", &stdInterpreter}, + {0, 1, 0, 0, 0x0105, "RawDevMemoryColorEmphasis", &stdInterpreter}, + {0, 1, 0, 0, 0x0106, "RawDevContrastValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0107, "RawDevSharpnessValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0108, "RawDevColorSpace", &olColorSpaceInterpreter}, + {0, 1, 0, 0, 0x0109, "RawDevEngine", &olDevEngineInterpreter}, + {0, 1, 0, 0, 0x010a, "RawDevNoiseReduction", &olNoiseReductionInterpreter}, + {0, 1, 0, 0, 0x010b, "RawDevEditStatus", &stdInterpreter}, + {0, 1, 0, 0, 0x010c, "RawDevSettings", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olyRawDevelopment2Attribs[] = { - 0, 1, 0, 0, 0x0000, "RawDevVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0100, "RawDevExposureBiasValue", &stdInterpreter, - 0, 1, 0, 0, 0x0101, "RawDevWhiteBalance", &stdInterpreter, - 0, 1, 0, 0, 0x0102, "RawDevWhiteBalanceValue", &stdInterpreter, - 0, 1, 0, 0, 0x0103, "RawDevWBFineAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0104, "RawDevGrayPoint", &stdInterpreter, - 0, 1, 0, 0, 0x0105, "RawDevContrastValue", &stdInterpreter, - 0, 1, 0, 0, 0x0106, "RawDevSharpnessValue", &stdInterpreter, - 0, 1, 0, 0, 0x0107, "RawDevSaturationEmphasis", &stdInterpreter, - 0, 1, 0, 0, 0x0108, "RawDevMemoryColorEmphasis", &stdInterpreter, - 0, 1, 0, 0, 0x0109, "RawDevColorSpace", &olColorSpaceInterpreter, - 0, 1, 0, 0, 0x010a, "RawDevNoiseReduction", &olNoiseReductionInterpreter, - 0, 1, 0, 0, 0x010b, "RawDevEngine", &olDevEngineInterpreter, - 0, 1, 0, 0, 0x010c, "RawDevPictureMode", &olPictureModeInterpreter, - 0, 1, 0, 0, 0x010d, "RawDevPMSaturation", &stdInterpreter, - 0, 1, 0, 0, 0x010e, "RawDevPMContrast", &stdInterpreter, - 0, 1, 0, 0, 0x010f, "RawDevPMSharpness", &stdInterpreter, - 0, 1, 0, 0, 0x0110, "RawDevPM_BWFilter", &olPictureModeBWFilterInterpreter, - 0, 1, 0, 0, 0x0111, "RawDevPMPictureTone", &olPictureModeToneInterpreter, - 0, 1, 0, 0, 0x0112, "RawDevGradation", &stdInterpreter, - 0, 1, 0, 0, 0x0113, "RawDevSaturation3", &stdInterpreter, - 0, 1, 0, 0, 0x0119, "RawDevAutoGradation", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0120, "RawDevPMNoiseFilter", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "RawDevVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0100, "RawDevExposureBiasValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0101, "RawDevWhiteBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x0102, "RawDevWhiteBalanceValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0103, "RawDevWBFineAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0104, "RawDevGrayPoint", &stdInterpreter}, + {0, 1, 0, 0, 0x0105, "RawDevContrastValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0106, "RawDevSharpnessValue", &stdInterpreter}, + {0, 1, 0, 0, 0x0107, "RawDevSaturationEmphasis", &stdInterpreter}, + {0, 1, 0, 0, 0x0108, "RawDevMemoryColorEmphasis", &stdInterpreter}, + {0, 1, 0, 0, 0x0109, "RawDevColorSpace", &olColorSpaceInterpreter}, + {0, 1, 0, 0, 0x010a, "RawDevNoiseReduction", &olNoiseReductionInterpreter}, + {0, 1, 0, 0, 0x010b, "RawDevEngine", &olDevEngineInterpreter}, + {0, 1, 0, 0, 0x010c, "RawDevPictureMode", &olPictureModeInterpreter}, + {0, 1, 0, 0, 0x010d, "RawDevPMSaturation", &stdInterpreter}, + {0, 1, 0, 0, 0x010e, "RawDevPMContrast", &stdInterpreter}, + {0, 1, 0, 0, 0x010f, "RawDevPMSharpness", &stdInterpreter}, + {0, 1, 0, 0, 0x0110, "RawDevPM_BWFilter", &olPictureModeBWFilterInterpreter}, + {0, 1, 0, 0, 0x0111, "RawDevPMPictureTone", &olPictureModeToneInterpreter}, + {0, 1, 0, 0, 0x0112, "RawDevGradation", &stdInterpreter}, + {0, 1, 0, 0, 0x0113, "RawDevSaturation3", &stdInterpreter}, + {0, 1, 0, 0, 0x0119, "RawDevAutoGradation", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0120, "RawDevPMNoiseFilter", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olyCameraSettingsAttribs[] = { - 0, 1, 0, 0, 0x0000, "CameraSettingsVersion", &stdInterpreter, - 1, 1, 0, 0, 0x0100, "PreviewImageValid", &olYesNoInterpreter, - 1, 1, 0, 0, 0x0101, "PreviewImageStart", &stdInterpreter, - 1, 1, 0, 0, 0x0102, "PreviewImageLength", &stdInterpreter, - 0, 1, 0, 0, 0x0200, "ExposureMode", &olExposureModeInterpreter, - 0, 1, 0, 0, 0x0201, "AELock", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0202, "MeteringMode", &olMeteringModeInterpreter, - 0, 1, 0, 0, 0x0300, "MacroMode", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0301, "FocusMode", &olFocusModeInterpreter, - 0, 1, 0, 0, 0x0302, "FocusProcess", &stdInterpreter, - 0, 1, 0, 0, 0x0303, "AFSearch", &stdInterpreter, - 0, 1, 0, 0, 0x0304, "AFAreas", &stdInterpreter, - 0, 1, 0, 0, 0x0400, "FlashMode", &stdInterpreter, - 0, 1, 0, 0, 0x0401, "FlashExposureComp", &stdInterpreter, - 0, 1, 0, 0, 0x0500, "WhiteBalance2", &olWhitebalance2Interpreter, - 0, 1, 0, 0, 0x0501, "WhiteBalanceTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x0502, "WhiteBalanceBracket", &stdInterpreter, - 0, 1, 0, 0, 0x0503, "CustomSaturation", &stdInterpreter, - 0, 1, 0, 0, 0x0504, "ModifiedSaturation", &stdInterpreter, - 0, 1, 0, 0, 0x0505, "ContrastSetting", &stdInterpreter, - 0, 1, 0, 0, 0x0506, "SharpnessSetting", &stdInterpreter, - 0, 1, 0, 0, 0x0507, "ColorSpace", &olColorSpaceInterpreter, - 0, 1, 0, 0, 0x0509, "SceneMode", &olSceneModeInterpreter, - 0, 1, 0, 0, 0x050a, "NoiseReduction", &olNoiseReductionInterpreter, - 0, 1, 0, 0, 0x050b, "DistortionCorrection", &olOnOffInterpreter, - 0, 1, 0, 0, 0x050c, "ShadingCompensation", &olOnOffInterpreter, - 0, 1, 0, 0, 0x050d, "CompressionFactor", &stdInterpreter, - 0, 1, 0, 0, 0x050f, "Gradation", &stdInterpreter, - 0, 1, 0, 0, 0x0520, "PictureMode", &olPictureModeInterpreter, - 0, 1, 0, 0, 0x0521, "PictureModeSaturation", &stdInterpreter, - 0, 1, 0, 0, 0x0522, "PictureModeHue", &stdInterpreter, - 0, 1, 0, 0, 0x0523, "PictureModeContrast", &stdInterpreter, - 0, 1, 0, 0, 0x0524, "PictureModeSharpness", &stdInterpreter, - 0, 1, 0, 0, 0x0525, "PictureModeBWFilter", &olPictureModeBWFilterInterpreter, - 0, 1, 0, 0, 0x0526, "PictureModeTone", &olPictureModeToneInterpreter, - 0, 1, 0, 0, 0x0527, "NoiseFilter", &olNoiseFilterInterpreter, - 0, 1, 0, 0, 0x0600, "DriveMode", &stdInterpreter, - 0, 1, 0, 0, 0x0601, "PanoramaMode", &stdInterpreter, - 0, 1, 0, 0, 0x0603, "ImageQuality2", &olImageQuality2Interpreter, - 0, 1, 0, 0, 0x0900, "ManometerPressure", &stdInterpreter, - 0, 1, 0, 0, 0x0901, "ManometerReading", &stdInterpreter, - 0, 1, 0, 0, 0x0902, "ExtendedWBDetect", &olOnOffInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "CameraSettingsVersion", &stdInterpreter}, + {1, 1, 0, 0, 0x0100, "PreviewImageValid", &olYesNoInterpreter}, + {1, 1, 0, 0, 0x0101, "PreviewImageStart", &stdInterpreter}, + {1, 1, 0, 0, 0x0102, "PreviewImageLength", &stdInterpreter}, + {0, 1, 0, 0, 0x0200, "ExposureMode", &olExposureModeInterpreter}, + {0, 1, 0, 0, 0x0201, "AELock", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0202, "MeteringMode", &olMeteringModeInterpreter}, + {0, 1, 0, 0, 0x0300, "MacroMode", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0301, "FocusMode", &olFocusModeInterpreter}, + {0, 1, 0, 0, 0x0302, "FocusProcess", &stdInterpreter}, + {0, 1, 0, 0, 0x0303, "AFSearch", &stdInterpreter}, + {0, 1, 0, 0, 0x0304, "AFAreas", &stdInterpreter}, + {0, 1, 0, 0, 0x0400, "FlashMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0401, "FlashExposureComp", &stdInterpreter}, + {0, 1, 0, 0, 0x0500, "WhiteBalance2", &olWhitebalance2Interpreter}, + {0, 1, 0, 0, 0x0501, "WhiteBalanceTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x0502, "WhiteBalanceBracket", &stdInterpreter}, + {0, 1, 0, 0, 0x0503, "CustomSaturation", &stdInterpreter}, + {0, 1, 0, 0, 0x0504, "ModifiedSaturation", &stdInterpreter}, + {0, 1, 0, 0, 0x0505, "ContrastSetting", &stdInterpreter}, + {0, 1, 0, 0, 0x0506, "SharpnessSetting", &stdInterpreter}, + {0, 1, 0, 0, 0x0507, "ColorSpace", &olColorSpaceInterpreter}, + {0, 1, 0, 0, 0x0509, "SceneMode", &olSceneModeInterpreter}, + {0, 1, 0, 0, 0x050a, "NoiseReduction", &olNoiseReductionInterpreter}, + {0, 1, 0, 0, 0x050b, "DistortionCorrection", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x050c, "ShadingCompensation", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x050d, "CompressionFactor", &stdInterpreter}, + {0, 1, 0, 0, 0x050f, "Gradation", &stdInterpreter}, + {0, 1, 0, 0, 0x0520, "PictureMode", &olPictureModeInterpreter}, + {0, 1, 0, 0, 0x0521, "PictureModeSaturation", &stdInterpreter}, + {0, 1, 0, 0, 0x0522, "PictureModeHue", &stdInterpreter}, + {0, 1, 0, 0, 0x0523, "PictureModeContrast", &stdInterpreter}, + {0, 1, 0, 0, 0x0524, "PictureModeSharpness", &stdInterpreter}, + {0, 1, 0, 0, 0x0525, "PictureModeBWFilter", &olPictureModeBWFilterInterpreter}, + {0, 1, 0, 0, 0x0526, "PictureModeTone", &olPictureModeToneInterpreter}, + {0, 1, 0, 0, 0x0527, "NoiseFilter", &olNoiseFilterInterpreter}, + {0, 1, 0, 0, 0x0600, "DriveMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0601, "PanoramaMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0603, "ImageQuality2", &olImageQuality2Interpreter}, + {0, 1, 0, 0, 0x0900, "ManometerPressure", &stdInterpreter}, + {0, 1, 0, 0, 0x0901, "ManometerReading", &stdInterpreter}, + {0, 1, 0, 0, 0x0902, "ExtendedWBDetect", &olOnOffInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olyEquipmentAttribs[] = { - 0, 1, 0, 0, 0x0000, "EquipmentVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0100, "CameraType2", &stdInterpreter, - 0, 1, 0, 0, 0x0101, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0102, "InternalSerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0103, "FocalPlaneDiagonal", &stdInterpreter, - 0, 1, 0, 0, 0x0104, "BodyFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0201, "LensType", &olLensTypeInterpreter, - 0, 1, 0, 0, 0x0202, "LensSerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0204, "LensFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0205, "MaxApertureAtMinFocal", &olApertureInterpreter, - 0, 1, 0, 0, 0x0206, "MaxApertureAtMaxFocal", &olApertureInterpreter, - 0, 1, 0, 0, 0x0207, "MinFocalLength", &stdInterpreter, - 0, 1, 0, 0, 0x0208, "MaxFocalLength", &stdInterpreter, - 0, 1, 0, 0, 0x020a, "MaxApertureAtCurrentFocal", &olApertureInterpreter, - 0, 1, 0, 0, 0x020b, "LensProperties", &stdInterpreter, - 0, 1, 0, 0, 0x0301, "Extender", &stdInterpreter, - 0, 1, 0, 0, 0x0302, "ExtenderSerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0303, "ExtenderModel", &stdInterpreter, - 0, 1, 0, 0, 0x0304, "ExtenderFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x1000, "FlashType", &olFlashTypeInterpreter, - 0, 1, 0, 0, 0x1001, "FlashModel", &olFlashModelInterpreter, - 0, 1, 0, 0, 0x1002, "FlashFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x1003, "FlashSerialNumber", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "EquipmentVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0100, "CameraType2", &stdInterpreter}, + {0, 1, 0, 0, 0x0101, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0102, "InternalSerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0103, "FocalPlaneDiagonal", &stdInterpreter}, + {0, 1, 0, 0, 0x0104, "BodyFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0201, "LensType", &olLensTypeInterpreter}, + {0, 1, 0, 0, 0x0202, "LensSerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0204, "LensFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0205, "MaxApertureAtMinFocal", &olApertureInterpreter}, + {0, 1, 0, 0, 0x0206, "MaxApertureAtMaxFocal", &olApertureInterpreter}, + {0, 1, 0, 0, 0x0207, "MinFocalLength", &stdInterpreter}, + {0, 1, 0, 0, 0x0208, "MaxFocalLength", &stdInterpreter}, + {0, 1, 0, 0, 0x020a, "MaxApertureAtCurrentFocal", &olApertureInterpreter}, + {0, 1, 0, 0, 0x020b, "LensProperties", &stdInterpreter}, + {0, 1, 0, 0, 0x0301, "Extender", &stdInterpreter}, + {0, 1, 0, 0, 0x0302, "ExtenderSerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0303, "ExtenderModel", &stdInterpreter}, + {0, 1, 0, 0, 0x0304, "ExtenderFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x1000, "FlashType", &olFlashTypeInterpreter}, + {0, 1, 0, 0, 0x1001, "FlashModel", &olFlashModelInterpreter}, + {0, 1, 0, 0, 0x1002, "FlashFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x1003, "FlashSerialNumber", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib olympusAttribs[] = { - 0, 1, 0, 0, 0x0104, "BodyFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0200, "SpecialMode", &stdInterpreter, - 0, 1, 0, 0, 0x0201, "Quality", &stdInterpreter, - 0, 1, 0, 0, 0x0202, "Macro", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0203, "BWMode", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0204, "DigitalZoom", &stdInterpreter, - 0, 1, 0, 0, 0x0205, "FocalPlaneDiagonal", &stdInterpreter, - 0, 1, 0, 0, 0x0206, "LensDistortionParams", &stdInterpreter, - 0, 1, 0, 0, 0x0207, "CameraType", &stdInterpreter, - 1, 1, 0, 0, 0x0208, "TextInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0209, "CameraID", &stdInterpreter, - 0, 1, 0, 0, 0x020b, "EpsonImageWidth", &stdInterpreter, - 0, 1, 0, 0, 0x020c, "EpsonImageHeight", &stdInterpreter, - 0, 1, 0, 0, 0x020d, "EpsonSoftware", &stdInterpreter, - 0, 2, 0, 0, 0x0280, "PreviewImage", &stdInterpreter, - 0, 1, 0, 0, 0x0300, "PreCaptureFrames", &stdInterpreter, - 0, 1, 0, 0, 0x0301, "WhiteBoard", &stdInterpreter, - 0, 1, 0, 0, 0x0302, "OneTouchWB", &olOnOffInterpreter, - 0, 1, 0, 0, 0x0303, "WhiteBalanceBracket", &stdInterpreter, - 0, 1, 0, 0, 0x0304, "WhiteBalanceBias", &stdInterpreter, - 0, 1, 0, 0, 0x0403, "SceneMode", &stdInterpreter, - 0, 1, 0, 0, 0x0404, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x0405, "Firmware", &stdInterpreter, - 1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter, - 0, 1, 0, 0, 0x0f00, "DataDump", &stdInterpreter, - 0, 1, 0, 0, 0x0f01, "DataDump2", &stdInterpreter, - 0, 1, 0, 0, 0x1000, "ShutterSpeedValue", &stdInterpreter, - 0, 1, 0, 0, 0x1001, "ISOValue", &stdInterpreter, - 0, 1, 0, 0, 0x1002, "ApertureValue", &stdInterpreter, - 0, 1, 0, 0, 0x1003, "BrightnessValue", &stdInterpreter, - 0, 1, 0, 0, 0x1004, "FlashMode", &stdInterpreter, - 0, 1, 0, 0, 0x1005, "FlashDevice", &stdInterpreter, - 0, 1, 0, 0, 0x1006, "ExposureCompensation", &stdInterpreter, - 0, 1, 0, 0, 0x1007, "SensorTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x1008, "LensTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x1009, "LightCondition", &stdInterpreter, - 0, 1, 0, 0, 0x100a, "FocusRange", &stdInterpreter, - 0, 1, 0, 0, 0x100b, "FocusMode", &stdInterpreter, - 0, 1, 0, 0, 0x100c, "ManualFocusDistance", &stdInterpreter, - 0, 1, 0, 0, 0x100d, "ZoomStepCount", &stdInterpreter, - 0, 1, 0, 0, 0x100e, "FocusStepCount", &stdInterpreter, - 0, 1, 0, 0, 0x100f, "Sharpness", &stdInterpreter, - 0, 1, 0, 0, 0x1010, "FlashChargeLevel", &stdInterpreter, - 0, 1, 0, 0, 0x1011, "ColorMatrix", &stdInterpreter, - 0, 1, 0, 0, 0x1012, "BlackLevel", &stdInterpreter, - 0, 1, 0, 0, 0x1013, "ColorTemperatureBG", &stdInterpreter, - 0, 1, 0, 0, 0x1014, "ColorTemperatureRG", &stdInterpreter, - 0, 1, 0, 0, 0x1015, "WBMode", &stdInterpreter, - 0, 1, 0, 0, 0x1017, "RedBalance", &stdInterpreter, - 0, 1, 0, 0, 0x1018, "BlueBalance", &stdInterpreter, - 0, 1, 0, 0, 0x1019, "ColorMatrixNumber", &stdInterpreter, - 0, 1, 0, 0, 0x101a, "SerialNumber", &stdInterpreter, - 0, 1, 0, 0, 0x101b, "ExternalFlashAE1_0", &stdInterpreter, - 0, 1, 0, 0, 0x101c, "ExternalFlashAE2_0", &stdInterpreter, - 0, 1, 0, 0, 0x101d, "InternalFlashAE1_0", &stdInterpreter, - 0, 1, 0, 0, 0x101e, "InternalFlashAE2_0", &stdInterpreter, - 0, 1, 0, 0, 0x101f, "ExternalFlashAE1", &stdInterpreter, - 0, 1, 0, 0, 0x1020, "ExternalFlashAE2", &stdInterpreter, - 0, 1, 0, 0, 0x1021, "InternalFlashAE1", &stdInterpreter, - 0, 1, 0, 0, 0x1022, "InternalFlashAE2", &stdInterpreter, - 0, 1, 0, 0, 0x1023, "FlashExposureComp", &stdInterpreter, - 0, 1, 0, 0, 0x1024, "InternalFlashTable", &stdInterpreter, - 0, 1, 0, 0, 0x1025, "ExternalFlashGValue", &stdInterpreter, - 0, 1, 0, 0, 0x1026, "ExternalFlashBounce", &olYesNoInterpreter, - 0, 1, 0, 0, 0x1027, "ExternalFlashZoom", &stdInterpreter, - 0, 1, 0, 0, 0x1028, "ExternalFlashMode", &stdInterpreter, - 0, 1, 0, 0, 0x1029, "Contrast", &stdInterpreter, - 0, 1, 0, 0, 0x102a, "SharpnessFactor", &stdInterpreter, - 0, 1, 0, 0, 0x102b, "ColorControl", &stdInterpreter, - 0, 1, 0, 0, 0x102c, "ValidBits", &stdInterpreter, - 0, 1, 0, 0, 0x102d, "CoringFilter", &stdInterpreter, - 0, 1, 0, 0, 0x102e, "OlympusImageWidth", &stdInterpreter, - 0, 1, 0, 0, 0x102f, "OlympusImageHeight", &stdInterpreter, - 0, 1, 0, 0, 0x1030, "SceneDetect", &stdInterpreter, - 0, 1, 0, 0, 0x1031, "SceneArea", &stdInterpreter, - 0, 1, 0, 0, 0x1033, "SceneDetectData", &stdInterpreter, - 0, 1, 0, 0, 0x1034, "CompressionRatio", &stdInterpreter, - 1, 1, 0, 0, 0x1035, "PreviewImageValid", &olYesNoInterpreter, - 1, 1, 0, 0, 0x1036, "PreviewImageStart", &stdInterpreter, - 1, 1, 0, 0, 0x1037, "PreviewImageLength", &stdInterpreter, - 0, 1, 0, 0, 0x1038, "AFResult", &stdInterpreter, - 0, 1, 0, 0, 0x1039, "CCDScanMode", &stdInterpreter, - 0, 1, 0, 0, 0x103a, "NoiseReduction", &olOnOffInterpreter, - 0, 1, 0, 0, 0x103b, "InfinityLensStep", &stdInterpreter, - 0, 1, 0, 0, 0x103c, "NearLensStep", &stdInterpreter, - 0, 1, 0, 0, 0x103d, "LightValueCenter", &stdInterpreter, - 0, 1, 0, 0, 0x103e, "LightValuePeriphery", &stdInterpreter, - 0, 1, 0, 0, 0x103f, "FieldCount", &stdInterpreter, - 0, 1, 0, olyEquipmentAttribs, 0x2010, "Equipment", &stdInterpreter, - 0, 1, 0, olyCameraSettingsAttribs, 0x2020, "CameraSettings", &stdInterpreter, - 0, 1, 0, olyRawDevelopmentAttribs, 0x2030, "RawDevelopment", &stdInterpreter, - 0, 1, 0, olyRawDevelopment2Attribs, 0x2031, "RawDev2", &stdInterpreter, - 0, 1, 0, olyImageProcessingAttribs, 0x2040, "ImageProcessing", &stdInterpreter, - 0, 1, 0, olyFocusInfoAttribs, 0x2050, "FocusInfo", &stdInterpreter, - 1, 1, 0, 0, 0x2100, "Olympus2100", &stdInterpreter, - 1, 1, 0, 0, 0x2300, "Olympus2300", &stdInterpreter, - 1, 1, 0, 0, 0x2400, "Olympus2400", &stdInterpreter, - 1, 1, 0, 0, 0x2500, "Olympus2500", &stdInterpreter, - 1, 1, 0, 0, 0x2600, "Olympus2600", &stdInterpreter, - 1, 1, 0, 0, 0x2700, "Olympus2700", &stdInterpreter, - 1, 1, 0, 0, 0x2800, "Olympus2800", &stdInterpreter, - 1, 1, 0, 0, 0x2900, "Olympus2900", &stdInterpreter, - 0, 1, 0, 0, 0x3000, "RawInfo", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0104, "BodyFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0200, "SpecialMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0201, "Quality", &stdInterpreter}, + {0, 1, 0, 0, 0x0202, "Macro", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0203, "BWMode", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0204, "DigitalZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x0205, "FocalPlaneDiagonal", &stdInterpreter}, + {0, 1, 0, 0, 0x0206, "LensDistortionParams", &stdInterpreter}, + {0, 1, 0, 0, 0x0207, "CameraType", &stdInterpreter}, + {1, 1, 0, 0, 0x0208, "TextInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0209, "CameraID", &stdInterpreter}, + {0, 1, 0, 0, 0x020b, "EpsonImageWidth", &stdInterpreter}, + {0, 1, 0, 0, 0x020c, "EpsonImageHeight", &stdInterpreter}, + {0, 1, 0, 0, 0x020d, "EpsonSoftware", &stdInterpreter}, + {0, 2, 0, 0, 0x0280, "PreviewImage", &stdInterpreter}, + {0, 1, 0, 0, 0x0300, "PreCaptureFrames", &stdInterpreter}, + {0, 1, 0, 0, 0x0301, "WhiteBoard", &stdInterpreter}, + {0, 1, 0, 0, 0x0302, "OneTouchWB", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x0303, "WhiteBalanceBracket", &stdInterpreter}, + {0, 1, 0, 0, 0x0304, "WhiteBalanceBias", &stdInterpreter}, + {0, 1, 0, 0, 0x0403, "SceneMode", &stdInterpreter}, + {0, 1, 0, 0, 0x0404, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x0405, "Firmware", &stdInterpreter}, + {1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter}, + {0, 1, 0, 0, 0x0f00, "DataDump", &stdInterpreter}, + {0, 1, 0, 0, 0x0f01, "DataDump2", &stdInterpreter}, + {0, 1, 0, 0, 0x1000, "ShutterSpeedValue", &stdInterpreter}, + {0, 1, 0, 0, 0x1001, "ISOValue", &stdInterpreter}, + {0, 1, 0, 0, 0x1002, "ApertureValue", &stdInterpreter}, + {0, 1, 0, 0, 0x1003, "BrightnessValue", &stdInterpreter}, + {0, 1, 0, 0, 0x1004, "FlashMode", &stdInterpreter}, + {0, 1, 0, 0, 0x1005, "FlashDevice", &stdInterpreter}, + {0, 1, 0, 0, 0x1006, "ExposureCompensation", &stdInterpreter}, + {0, 1, 0, 0, 0x1007, "SensorTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x1008, "LensTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x1009, "LightCondition", &stdInterpreter}, + {0, 1, 0, 0, 0x100a, "FocusRange", &stdInterpreter}, + {0, 1, 0, 0, 0x100b, "FocusMode", &stdInterpreter}, + {0, 1, 0, 0, 0x100c, "ManualFocusDistance", &stdInterpreter}, + {0, 1, 0, 0, 0x100d, "ZoomStepCount", &stdInterpreter}, + {0, 1, 0, 0, 0x100e, "FocusStepCount", &stdInterpreter}, + {0, 1, 0, 0, 0x100f, "Sharpness", &stdInterpreter}, + {0, 1, 0, 0, 0x1010, "FlashChargeLevel", &stdInterpreter}, + {0, 1, 0, 0, 0x1011, "ColorMatrix", &stdInterpreter}, + {0, 1, 0, 0, 0x1012, "BlackLevel", &stdInterpreter}, + {0, 1, 0, 0, 0x1013, "ColorTemperatureBG", &stdInterpreter}, + {0, 1, 0, 0, 0x1014, "ColorTemperatureRG", &stdInterpreter}, + {0, 1, 0, 0, 0x1015, "WBMode", &stdInterpreter}, + {0, 1, 0, 0, 0x1017, "RedBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x1018, "BlueBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x1019, "ColorMatrixNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x101a, "SerialNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x101b, "ExternalFlashAE1_0", &stdInterpreter}, + {0, 1, 0, 0, 0x101c, "ExternalFlashAE2_0", &stdInterpreter}, + {0, 1, 0, 0, 0x101d, "InternalFlashAE1_0", &stdInterpreter}, + {0, 1, 0, 0, 0x101e, "InternalFlashAE2_0", &stdInterpreter}, + {0, 1, 0, 0, 0x101f, "ExternalFlashAE1", &stdInterpreter}, + {0, 1, 0, 0, 0x1020, "ExternalFlashAE2", &stdInterpreter}, + {0, 1, 0, 0, 0x1021, "InternalFlashAE1", &stdInterpreter}, + {0, 1, 0, 0, 0x1022, "InternalFlashAE2", &stdInterpreter}, + {0, 1, 0, 0, 0x1023, "FlashExposureComp", &stdInterpreter}, + {0, 1, 0, 0, 0x1024, "InternalFlashTable", &stdInterpreter}, + {0, 1, 0, 0, 0x1025, "ExternalFlashGValue", &stdInterpreter}, + {0, 1, 0, 0, 0x1026, "ExternalFlashBounce", &olYesNoInterpreter}, + {0, 1, 0, 0, 0x1027, "ExternalFlashZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x1028, "ExternalFlashMode", &stdInterpreter}, + {0, 1, 0, 0, 0x1029, "Contrast", &stdInterpreter}, + {0, 1, 0, 0, 0x102a, "SharpnessFactor", &stdInterpreter}, + {0, 1, 0, 0, 0x102b, "ColorControl", &stdInterpreter}, + {0, 1, 0, 0, 0x102c, "ValidBits", &stdInterpreter}, + {0, 1, 0, 0, 0x102d, "CoringFilter", &stdInterpreter}, + {0, 1, 0, 0, 0x102e, "OlympusImageWidth", &stdInterpreter}, + {0, 1, 0, 0, 0x102f, "OlympusImageHeight", &stdInterpreter}, + {0, 1, 0, 0, 0x1030, "SceneDetect", &stdInterpreter}, + {0, 1, 0, 0, 0x1031, "SceneArea", &stdInterpreter}, + {0, 1, 0, 0, 0x1033, "SceneDetectData", &stdInterpreter}, + {0, 1, 0, 0, 0x1034, "CompressionRatio", &stdInterpreter}, + {1, 1, 0, 0, 0x1035, "PreviewImageValid", &olYesNoInterpreter}, + {1, 1, 0, 0, 0x1036, "PreviewImageStart", &stdInterpreter}, + {1, 1, 0, 0, 0x1037, "PreviewImageLength", &stdInterpreter}, + {0, 1, 0, 0, 0x1038, "AFResult", &stdInterpreter}, + {0, 1, 0, 0, 0x1039, "CCDScanMode", &stdInterpreter}, + {0, 1, 0, 0, 0x103a, "NoiseReduction", &olOnOffInterpreter}, + {0, 1, 0, 0, 0x103b, "InfinityLensStep", &stdInterpreter}, + {0, 1, 0, 0, 0x103c, "NearLensStep", &stdInterpreter}, + {0, 1, 0, 0, 0x103d, "LightValueCenter", &stdInterpreter}, + {0, 1, 0, 0, 0x103e, "LightValuePeriphery", &stdInterpreter}, + {0, 1, 0, 0, 0x103f, "FieldCount", &stdInterpreter}, + {0, 1, 0, olyEquipmentAttribs, 0x2010, "Equipment", &stdInterpreter}, + {0, 1, 0, olyCameraSettingsAttribs, 0x2020, "CameraSettings", &stdInterpreter}, + {0, 1, 0, olyRawDevelopmentAttribs, 0x2030, "RawDevelopment", &stdInterpreter}, + {0, 1, 0, olyRawDevelopment2Attribs, 0x2031, "RawDev2", &stdInterpreter}, + {0, 1, 0, olyImageProcessingAttribs, 0x2040, "ImageProcessing", &stdInterpreter}, + {0, 1, 0, olyFocusInfoAttribs, 0x2050, "FocusInfo", &stdInterpreter}, + {1, 1, 0, 0, 0x2100, "Olympus2100", &stdInterpreter}, + {1, 1, 0, 0, 0x2300, "Olympus2300", &stdInterpreter}, + {1, 1, 0, 0, 0x2400, "Olympus2400", &stdInterpreter}, + {1, 1, 0, 0, 0x2500, "Olympus2500", &stdInterpreter}, + {1, 1, 0, 0, 0x2600, "Olympus2600", &stdInterpreter}, + {1, 1, 0, 0, 0x2700, "Olympus2700", &stdInterpreter}, + {1, 1, 0, 0, 0x2800, "Olympus2800", &stdInterpreter}, + {1, 1, 0, 0, 0x2900, "Olympus2900", &stdInterpreter}, + {0, 1, 0, 0, 0x3000, "RawInfo", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; }; #endif diff --git a/rtexif/pentaxattribs.cc b/rtexif/pentaxattribs.cc index 0ea97b3c6..b87b001c9 100644 --- a/rtexif/pentaxattribs.cc +++ b/rtexif/pentaxattribs.cc @@ -1014,160 +1014,160 @@ public: PADriveMode2Interpreter paDriveMode2Interpreter; const TagAttrib pentaxAttribs[] = { - 0, 1, 0, 0, 0x0001, "PentaxVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0001, "PentaxModelType", &stdInterpreter, - 0, 2, 0, 0, 0x0002, "PreviewImageSize", &stdInterpreter, - 0, 2, 0, 0, 0x0003, "PreviewImageLength", &stdInterpreter, - 0, 2, 0, 0, 0x0004, "PreviewImageStart", &stdInterpreter, - 0, 1, 0, 0, 0x0005, "PentaxModelID", &stdInterpreter, - 0, 1, 0, 0, 0x0006, "Date", &stdInterpreter, - 0, 1, 0, 0, 0x0007, "Time", &stdInterpreter, - 0, 1, 0, 0, 0x0008, "Quality", &paQualityInterpreter, - 0, 1, 0, 0, 0x0009, "PentaxImageSize", &stdInterpreter, - 0, 1, 0, 0, 0x000b, "PictureMode", &paPictureModeInterpreter, - 0, 1, 0, 0, 0x000c, "FlashMode", &paFlashModeInterpreter, - 0, 1, 0, 0, 0x000d, "FocusMode", &paFocusModeInterpreter, - 0, 1, 0, 0, 0x000e, "AFPointSelected", &paAFPointInterpreter, - 0, 1, 0, 0, 0x000f, "AFPointsInFocus", &paAFFocusInterpreter, - 0, 1, 0, 0, 0x0010, "FocusPosition", &stdInterpreter, - 0, 1, 0, 0, 0x0012, "ExposureTime", &stdInterpreter, - 0, 1, 0, 0, 0x0013, "FNumber", &paFNumberInterpreter, - 0, 1, 0, 0, 0x0014, "ISO", &paISOInterpreter, - 0, 1, 0, 0, 0x0015, "LightReading", &stdInterpreter, - 0, 1, 0, 0, 0x0016, "ExposureCompensation", &stdInterpreter, - 0, 1, 0, 0, 0x0017, "MeteringMode", &paMeteringModeInterpreter, - 0, 1, 0, 0, 0x0018, "AutoBracketing", &stdInterpreter, - 0, 1, 0, 0, 0x0019, "WhiteBalance", &paWhiteBalanceInterpreter, - 0, 1, 0, 0, 0x001a, "WhiteBalanceMode", &paWhiteBalanceModeInterpreter, - 0, 1, 0, 0, 0x001b, "BlueBalance", &stdInterpreter, - 0, 1, 0, 0, 0x001c, "RedBalance", &stdInterpreter, - 0, 1, 0, 0, 0x001d, "FocalLength", &stdInterpreter, - 0, 1, 0, 0, 0x001e, "DigitalZoom", &stdInterpreter, - 0, 1, 0, 0, 0x001f, "Saturation", &paSaturationInterpreter, - 0, 1, 0, 0, 0x0020, "Contrast", &paContrastInterpreter, - 0, 1, 0, 0, 0x0021, "Sharpness", &paSharpnessInterpreter, - 0, 1, 0, 0, 0x0022, "WorldTimeLocation", &stdInterpreter, - 0, 1, 0, 0, 0x0023, "HometownCity", &stdInterpreter, - 0, 3, 0, 0, 0x0024, "DestinationCity", &stdInterpreter, - 0, 3, 0, 0, 0x0025, "HometownDST", &stdInterpreter, - 0, 1, 0, 0, 0x0026, "DestinationDST", &stdInterpreter, - 0, 1, 0, 0, 0x0027, "DSPFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0028, "CPUFirmwareVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0029, "FrameNumber", &stdInterpreter, - 0, 1, 0, 0, 0x002d, "EffectiveLV", &stdInterpreter, - 0, 1, 0, 0, 0x0032, "ImageProcessing", &stdInterpreter, - 0, 1, 0, 0, 0x0033, "PictureMode", &paPictureModeInterpreter2, - 0, 1, 0, 0, 0x0034, "DriveMode", &paDriveModeInterpreter, - 0, 1, 0, 0, 0x0037, "ColorSpace", &paColorSpaceInterpreter, - 0, 1, 0, 0, 0x0038, "ImageAreaOffset", &stdInterpreter, - 0, 1, 0, 0, 0x0039, "RawImageSize", &stdInterpreter, - 0, 1, 0, 0, 0x003c, "AFPointsInFocus", &stdInterpreter, - 0, 1, 0, 0, 0x003e, "PreviewImageBorders", &stdInterpreter, - 0, 1, 0, 0, 0x003f, "LensType", &paLensTypeInterpreter, - 0, 1, 0, 0, 0x0040, "SensitivityAdjust", &stdInterpreter, - 0, 1, 0, 0, 0x0041, "ImageProcessingCount", &stdInterpreter, - 0, 1, 0, 0, 0x0047, "CameraTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x0048, "AELock", &paOnOffInterpreter, - 0, 1, 0, 0, 0x0049, "NoiseReduction", &paOnOffInterpreter, - 0, 1, 0, 0, 0x004d, "FlashExposureComp", &stdInterpreter, - 0, 1, 0, 0, 0x004f, "ImageTone", &stdInterpreter, - 0, 1, 0, 0, 0x0050, "ColorTemperature", &stdInterpreter, - 0, 1, 0, pentaxSRInfoAttribs, 0x005c, "ShakeReductionInfo", &stdInterpreter, - 0, 1, 0, 0, 0x005d, "ShutterCount", &stdInterpreter, - 0, 1, 0, 0, 0x0069, "DynamicRangeExpansion", &paOnOffInterpreter, - 0, 1, 0, 0, 0x0071, "HighISONoiseReduction", &paHighISONoiseInterpreter, - 0, 1, 0, 0, 0x0072, "AFAdjustment", &stdInterpreter, - 0, 1, 0, 0, 0x0200, "BlackPoint", &stdInterpreter, - 0, 1, 0, 0, 0x0201, "WhitePoint", &stdInterpreter, - 0, 1, 0, 0, 0x0203, "ColorMatrixA", &stdInterpreter, - 0, 1, 0, 0, 0x0204, "ColorMatrixB", &stdInterpreter, - 0, 1, 0, pentaxCameraSettingsAttribs, 0x0205, "CameraSettings", &stdInterpreter, - 0, 1, 0, pentaxAEInfoAttribs, 0x0206, "AEInfo", &stdInterpreter, - 0, 1, 0, pentaxLensDataAttribs, 0x0207, "LensInfo", &stdInterpreter, - 0, 1, 0, pentaxFlashInfoAttribs, 0x0208, "FlashInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0209, "AEMeteringSegments", &stdInterpreter, - 0, 1, 0, 0, 0x020a, "FlashADump", &stdInterpreter, - 0, 1, 0, 0, 0x020b, "FlashBDump", &stdInterpreter, - 0, 1, 0, 0, 0x020d, "WB_RGGBLevelsDaylight", &stdInterpreter, - 0, 1, 0, 0, 0x020e, "WB_RGGBLevelsShade", &stdInterpreter, - 0, 1, 0, 0, 0x020f, "WB_RGGBLevelsCloudy", &stdInterpreter, - 0, 1, 0, 0, 0x0210, "WB_RGGBLevelsTungsten", &stdInterpreter, - 0, 1, 0, 0, 0x0211, "WB_RGGBLevelsFluorescentD", &stdInterpreter, - 0, 1, 0, 0, 0x0212, "WB_RGGBLevelsFluorescentN", &stdInterpreter, - 0, 1, 0, 0, 0x0213, "WB_RGGBLevelsFluorescentW", &stdInterpreter, - 0, 1, 0, 0, 0x0214, "WB_RGGBLevelsFlash", &stdInterpreter, - 0, 1, 0, 0, 0x0215, "CameraInfo", &stdInterpreter, - 0, 1, 0, pentaxBatteryInfoAttribs, 0x0216, "BatteryInfo", &stdInterpreter, - 0, 1, 0, 0, 0x021f, "AFInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0222, "ColorInfo", &stdInterpreter, - 0, 1, 0, 0, 0x03fe, "DataDump", &stdInterpreter, - 0, 1, 0, 0, 0x03ff, "UnknownInfo", &stdInterpreter, - 0, 1, 0, 0, 0x0402, "ToneCurve", &stdInterpreter, - 0, 1, 0, 0, 0x0403, "ToneCurves", &stdInterpreter, - 0, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0001, "PentaxVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0001, "PentaxModelType", &stdInterpreter}, + {0, 2, 0, 0, 0x0002, "PreviewImageSize", &stdInterpreter}, + {0, 2, 0, 0, 0x0003, "PreviewImageLength", &stdInterpreter}, + {0, 2, 0, 0, 0x0004, "PreviewImageStart", &stdInterpreter}, + {0, 1, 0, 0, 0x0005, "PentaxModelID", &stdInterpreter}, + {0, 1, 0, 0, 0x0006, "Date", &stdInterpreter}, + {0, 1, 0, 0, 0x0007, "Time", &stdInterpreter}, + {0, 1, 0, 0, 0x0008, "Quality", &paQualityInterpreter}, + {0, 1, 0, 0, 0x0009, "PentaxImageSize", &stdInterpreter}, + {0, 1, 0, 0, 0x000b, "PictureMode", &paPictureModeInterpreter}, + {0, 1, 0, 0, 0x000c, "FlashMode", &paFlashModeInterpreter}, + {0, 1, 0, 0, 0x000d, "FocusMode", &paFocusModeInterpreter}, + {0, 1, 0, 0, 0x000e, "AFPointSelected", &paAFPointInterpreter}, + {0, 1, 0, 0, 0x000f, "AFPointsInFocus", &paAFFocusInterpreter}, + {0, 1, 0, 0, 0x0010, "FocusPosition", &stdInterpreter}, + {0, 1, 0, 0, 0x0012, "ExposureTime", &stdInterpreter}, + {0, 1, 0, 0, 0x0013, "FNumber", &paFNumberInterpreter}, + {0, 1, 0, 0, 0x0014, "ISO", &paISOInterpreter}, + {0, 1, 0, 0, 0x0015, "LightReading", &stdInterpreter}, + {0, 1, 0, 0, 0x0016, "ExposureCompensation", &stdInterpreter}, + {0, 1, 0, 0, 0x0017, "MeteringMode", &paMeteringModeInterpreter}, + {0, 1, 0, 0, 0x0018, "AutoBracketing", &stdInterpreter}, + {0, 1, 0, 0, 0x0019, "WhiteBalance", &paWhiteBalanceInterpreter}, + {0, 1, 0, 0, 0x001a, "WhiteBalanceMode", &paWhiteBalanceModeInterpreter}, + {0, 1, 0, 0, 0x001b, "BlueBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x001c, "RedBalance", &stdInterpreter}, + {0, 1, 0, 0, 0x001d, "FocalLength", &stdInterpreter}, + {0, 1, 0, 0, 0x001e, "DigitalZoom", &stdInterpreter}, + {0, 1, 0, 0, 0x001f, "Saturation", &paSaturationInterpreter}, + {0, 1, 0, 0, 0x0020, "Contrast", &paContrastInterpreter}, + {0, 1, 0, 0, 0x0021, "Sharpness", &paSharpnessInterpreter}, + {0, 1, 0, 0, 0x0022, "WorldTimeLocation", &stdInterpreter}, + {0, 1, 0, 0, 0x0023, "HometownCity", &stdInterpreter}, + {0, 3, 0, 0, 0x0024, "DestinationCity", &stdInterpreter}, + {0, 3, 0, 0, 0x0025, "HometownDST", &stdInterpreter}, + {0, 1, 0, 0, 0x0026, "DestinationDST", &stdInterpreter}, + {0, 1, 0, 0, 0x0027, "DSPFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0028, "CPUFirmwareVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0029, "FrameNumber", &stdInterpreter}, + {0, 1, 0, 0, 0x002d, "EffectiveLV", &stdInterpreter}, + {0, 1, 0, 0, 0x0032, "ImageProcessing", &stdInterpreter}, + {0, 1, 0, 0, 0x0033, "PictureMode", &paPictureModeInterpreter2}, + {0, 1, 0, 0, 0x0034, "DriveMode", &paDriveModeInterpreter}, + {0, 1, 0, 0, 0x0037, "ColorSpace", &paColorSpaceInterpreter}, + {0, 1, 0, 0, 0x0038, "ImageAreaOffset", &stdInterpreter}, + {0, 1, 0, 0, 0x0039, "RawImageSize", &stdInterpreter}, + {0, 1, 0, 0, 0x003c, "AFPointsInFocus", &stdInterpreter}, + {0, 1, 0, 0, 0x003e, "PreviewImageBorders", &stdInterpreter}, + {0, 1, 0, 0, 0x003f, "LensType", &paLensTypeInterpreter}, + {0, 1, 0, 0, 0x0040, "SensitivityAdjust", &stdInterpreter}, + {0, 1, 0, 0, 0x0041, "ImageProcessingCount", &stdInterpreter}, + {0, 1, 0, 0, 0x0047, "CameraTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x0048, "AELock", &paOnOffInterpreter}, + {0, 1, 0, 0, 0x0049, "NoiseReduction", &paOnOffInterpreter}, + {0, 1, 0, 0, 0x004d, "FlashExposureComp", &stdInterpreter}, + {0, 1, 0, 0, 0x004f, "ImageTone", &stdInterpreter}, + {0, 1, 0, 0, 0x0050, "ColorTemperature", &stdInterpreter}, + {0, 1, 0, pentaxSRInfoAttribs, 0x005c, "ShakeReductionInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x005d, "ShutterCount", &stdInterpreter}, + {0, 1, 0, 0, 0x0069, "DynamicRangeExpansion", &paOnOffInterpreter}, + {0, 1, 0, 0, 0x0071, "HighISONoiseReduction", &paHighISONoiseInterpreter}, + {0, 1, 0, 0, 0x0072, "AFAdjustment", &stdInterpreter}, + {0, 1, 0, 0, 0x0200, "BlackPoint", &stdInterpreter}, + {0, 1, 0, 0, 0x0201, "WhitePoint", &stdInterpreter}, + {0, 1, 0, 0, 0x0203, "ColorMatrixA", &stdInterpreter}, + {0, 1, 0, 0, 0x0204, "ColorMatrixB", &stdInterpreter}, + {0, 1, 0, pentaxCameraSettingsAttribs, 0x0205, "CameraSettings", &stdInterpreter}, + {0, 1, 0, pentaxAEInfoAttribs, 0x0206, "AEInfo", &stdInterpreter}, + {0, 1, 0, pentaxLensDataAttribs, 0x0207, "LensInfo", &stdInterpreter}, + {0, 1, 0, pentaxFlashInfoAttribs, 0x0208, "FlashInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0209, "AEMeteringSegments", &stdInterpreter}, + {0, 1, 0, 0, 0x020a, "FlashADump", &stdInterpreter}, + {0, 1, 0, 0, 0x020b, "FlashBDump", &stdInterpreter}, + {0, 1, 0, 0, 0x020d, "WB_RGGBLevelsDaylight", &stdInterpreter}, + {0, 1, 0, 0, 0x020e, "WB_RGGBLevelsShade", &stdInterpreter}, + {0, 1, 0, 0, 0x020f, "WB_RGGBLevelsCloudy", &stdInterpreter}, + {0, 1, 0, 0, 0x0210, "WB_RGGBLevelsTungsten", &stdInterpreter}, + {0, 1, 0, 0, 0x0211, "WB_RGGBLevelsFluorescentD", &stdInterpreter}, + {0, 1, 0, 0, 0x0212, "WB_RGGBLevelsFluorescentN", &stdInterpreter}, + {0, 1, 0, 0, 0x0213, "WB_RGGBLevelsFluorescentW", &stdInterpreter}, + {0, 1, 0, 0, 0x0214, "WB_RGGBLevelsFlash", &stdInterpreter}, + {0, 1, 0, 0, 0x0215, "CameraInfo", &stdInterpreter}, + {0, 1, 0, pentaxBatteryInfoAttribs, 0x0216, "BatteryInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x021f, "AFInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0222, "ColorInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x03fe, "DataDump", &stdInterpreter}, + {0, 1, 0, 0, 0x03ff, "UnknownInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x0402, "ToneCurve", &stdInterpreter}, + {0, 1, 0, 0, 0x0403, "ToneCurves", &stdInterpreter}, + {0, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxSRInfoAttribs[] = { - 0, 1, 0, 0, 0, "SRResult", &paSRResultInterpreter, - 0, 1, 0, 0, 1, "ShakeReduction", &paOnOffInterpreter, - 0, 1, 0, 0, 2, "SRHalfPressTime", &stdInterpreter, - 0, 1, 0, 0, 3, "SRFocalLength", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0, "SRResult", &paSRResultInterpreter}, + {0, 1, 0, 0, 1, "ShakeReduction", &paOnOffInterpreter}, + {0, 1, 0, 0, 2, "SRHalfPressTime", &stdInterpreter}, + {0, 1, 0, 0, 3, "SRFocalLength", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxLensDataAttribs[] = { - 0, 1, 0, 0, 10, "NominalMinMaxAperture", &paNominalMinMaxApertureInterpreter, - 0, 1, 0, 0, 14, "MaxAperture", &paMaxApertureInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 10, "NominalMinMaxAperture", &paNominalMinMaxApertureInterpreter}, + {0, 1, 0, 0, 14, "MaxAperture", &paMaxApertureInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxCameraSettingsAttribs[] = { - 0, 1, 0, 0, 0, "PictureMode2", &paPictureMode2Interpreter, - 0, 1, 0, 0, 1, "ProgramLine", &paProgramLineInterpreter, - 0, 1, 0, 0, 1, "EVSteps", &paEVStepsInterpreter, - 0, 1, 0, 0, 1, "E-DialinProgram", &paEDialinInterpreter, - 0, 1, 0, 0, 1, "ApertureRing", &paApertureRingUseInterpreter, - 0, 1, 0, 0, 2, "FlashOptions", &paFlashOptionInterpreter, - 0, 1, 0, 0, 2, "MeteringMode2", &paMeteringMode2Interpreter, - 0, 1, 0, 0, 3, "AFMode", &paAFModeInterpreter, - 0, 1, 0, 0, 4, "AFPointSelected2", &paAFPointSelectedInterpreter, - 0, 1, 0, 0, 7, "DriveMode2", &paDriveMode2Interpreter, - 0, 1, 0, 0, 8, "ExposureBracketStepSize", &paExposureBracketStepSizeInterpreter, - 0, 1, 0, 0, 9, "BracketShotNumber", &stdInterpreter, - 0, 1, 0, 0, 10, "WhiteBalanceSet", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0, "PictureMode2", &paPictureMode2Interpreter}, + {0, 1, 0, 0, 1, "ProgramLine", &paProgramLineInterpreter}, + {0, 1, 0, 0, 1, "EVSteps", &paEVStepsInterpreter}, + {0, 1, 0, 0, 1, "E-DialinProgram", &paEDialinInterpreter}, + {0, 1, 0, 0, 1, "ApertureRing", &paApertureRingUseInterpreter}, + {0, 1, 0, 0, 2, "FlashOptions", &paFlashOptionInterpreter}, + {0, 1, 0, 0, 2, "MeteringMode2", &paMeteringMode2Interpreter}, + {0, 1, 0, 0, 3, "AFMode", &paAFModeInterpreter}, + {0, 1, 0, 0, 4, "AFPointSelected2", &paAFPointSelectedInterpreter}, + {0, 1, 0, 0, 7, "DriveMode2", &paDriveMode2Interpreter}, + {0, 1, 0, 0, 8, "ExposureBracketStepSize", &paExposureBracketStepSizeInterpreter}, + {0, 1, 0, 0, 9, "BracketShotNumber", &stdInterpreter}, + {0, 1, 0, 0, 10, "WhiteBalanceSet", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxAEInfoAttribs[] = { - 0, 1, 0, 0, 0, "AEExposureTime", &stdInterpreter, - 0, 1, 0, 0, 1, "AEAperture", &stdInterpreter, - 0, 1, 0, 0, 2, "AE_ISO", &stdInterpreter, - 0, 1, 0, 0, 3, "AEXv", &stdInterpreter, - 0, 1, 0, 0, 4, "AEBXv", &stdInterpreter, - 0, 1, 0, 0, 5, "AEMinExposureTime", &stdInterpreter, - 0, 1, 0, 0, 6, "AEProgramMode", &stdInterpreter, - 0, 1, 0, 0, 9, "AEMaxAperture", &stdInterpreter, - 0, 1, 0, 0, 10, "AEMaxAperture2", &stdInterpreter, - 0, 1, 0, 0, 11, "AEMinAperture", &stdInterpreter, - 0, 1, 0, 0, 12, "AEMeteringMode", &stdInterpreter, - 0, 1, 0, 0, 14, "FlashExposureCompSet", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0, "AEExposureTime", &stdInterpreter}, + {0, 1, 0, 0, 1, "AEAperture", &stdInterpreter}, + {0, 1, 0, 0, 2, "AE_ISO", &stdInterpreter}, + {0, 1, 0, 0, 3, "AEXv", &stdInterpreter}, + {0, 1, 0, 0, 4, "AEBXv", &stdInterpreter}, + {0, 1, 0, 0, 5, "AEMinExposureTime", &stdInterpreter}, + {0, 1, 0, 0, 6, "AEProgramMode", &stdInterpreter}, + {0, 1, 0, 0, 9, "AEMaxAperture", &stdInterpreter}, + {0, 1, 0, 0, 10, "AEMaxAperture2", &stdInterpreter}, + {0, 1, 0, 0, 11, "AEMinAperture", &stdInterpreter}, + {0, 1, 0, 0, 12, "AEMeteringMode", &stdInterpreter}, + {0, 1, 0, 0, 14, "FlashExposureCompSet", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxFlashInfoAttribs[] = { - 0, 1, 0, 0, 0, "FlashStatus", &paFlashStatusInterpreter, - 0, 1, 0, 0, 1, "InternalFlashMode", &paInternalFlashModeInterpreter, - 0, 1, 0, 0, 2, "ExternalFlashMode", &paExternalFlashModeInterpreter, - 0, 1, 0, 0, 3, "InternalFlashStrength", &stdInterpreter, - 0, 1, 0, 0, 24, "ExternalFlashGuideNumber", &paExternalFlashGNInterpreter, - 0, 1, 0, 0, 25, "ExternalFlashExposureComp", &paExternalFlashExposureCompInterpreter, - 0, 1, 0, 0, 26, "ExternalFlashBounce", &paExternalFlashBounceInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0, "FlashStatus", &paFlashStatusInterpreter}, + {0, 1, 0, 0, 1, "InternalFlashMode", &paInternalFlashModeInterpreter}, + {0, 1, 0, 0, 2, "ExternalFlashMode", &paExternalFlashModeInterpreter}, + {0, 1, 0, 0, 3, "InternalFlashStrength", &stdInterpreter}, + {0, 1, 0, 0, 24, "ExternalFlashGuideNumber", &paExternalFlashGNInterpreter}, + {0, 1, 0, 0, 25, "ExternalFlashExposureComp", &paExternalFlashExposureCompInterpreter}, + {0, 1, 0, 0, 26, "ExternalFlashBounce", &paExternalFlashBounceInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib pentaxBatteryInfoAttribs[] = { -0, 1, 0, 0, 0, "PowerSource", &paPowerSourceInterpreter, -0, 1, 0, 0, 1, "BatteryStates", &stdInterpreter, -0, 1, 0, 0, 2, "BatteryADBodyNoLoad", &stdInterpreter, -0, 1, 0, 0, 3, "BatteryADBodyLoad", &stdInterpreter, -0, 1, 0, 0, 4, "BatteryADGripNoLoad", &stdInterpreter, -0, 1, 0, 0, 5, "BatteryADGripLoad", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0, "PowerSource", &paPowerSourceInterpreter}, + {0, 1, 0, 0, 1, "BatteryStates", &stdInterpreter}, + {0, 1, 0, 0, 2, "BatteryADBodyNoLoad", &stdInterpreter}, + {0, 1, 0, 0, 3, "BatteryADBodyLoad", &stdInterpreter}, + {0, 1, 0, 0, 4, "BatteryADGripNoLoad", &stdInterpreter}, + {0, 1, 0, 0, 5, "BatteryADGripLoad", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; }; #endif diff --git a/rtexif/rtexif.cc b/rtexif/rtexif.cc index 5af1de241..b1f064b54 100644 --- a/rtexif/rtexif.cc +++ b/rtexif/rtexif.cc @@ -37,7 +37,7 @@ StdInterpreter stdInterpreter; #define TAG_SUBFILETYPE 0x00fe TagDirectory::TagDirectory () - : attribs(ifdAttribs), parent(NULL), order(INTEL) {} + : attribs(ifdAttribs), order(INTEL), parent(NULL) {} TagDirectory::TagDirectory (TagDirectory* p, const TagAttrib* ta, ByteOrder border) : attribs(ta), order(border), parent(p) {} @@ -334,12 +334,12 @@ void TagDirectory::applyChange (std::string name, std::string value) { } TagDirectoryTable::TagDirectoryTable () -:valuesSize(0),zeroOffset(0) +:zeroOffset(0),valuesSize(0) { } TagDirectoryTable::TagDirectoryTable (TagDirectory* p, unsigned char *v,int memsize,int offs, TagType type, const TagAttrib* ta, ByteOrder border) -:TagDirectory(p,ta,border),valuesSize(memsize),zeroOffset(offs),defaultType( type ) +:TagDirectory(p,ta,border),zeroOffset(offs),valuesSize(memsize),defaultType( type ) { values = new unsigned char[valuesSize]; memcpy(values,v,valuesSize); @@ -350,7 +350,7 @@ TagDirectoryTable::TagDirectoryTable (TagDirectory* p, unsigned char *v,int mems } TagDirectoryTable::TagDirectoryTable (TagDirectory* p, FILE* f, int memsize,int offs, TagType type, const TagAttrib* ta, ByteOrder border) -:TagDirectory(p,ta,border),valuesSize(memsize),zeroOffset(offs),defaultType( type ) +:TagDirectory(p,ta,border),zeroOffset(offs),valuesSize(memsize),defaultType( type ) { values = new unsigned char[valuesSize]; fread (values, 1, valuesSize, f); @@ -389,7 +389,7 @@ int TagDirectoryTable::write (int start, unsigned char* buffer) { //----------------------------------------------------------------------------- Tag::Tag (TagDirectory* p, FILE* f, int base) - : parent(p), value(NULL), directory(NULL), count(0), attrib(NULL), type(INVALID),allocOwnMemory(true) { + : type(INVALID), count(0), value(NULL), allocOwnMemory(true), attrib(NULL), parent(p), directory(NULL) { tag = get2 (f, getOrder()); type = (TagType)get2 (f, getOrder()); @@ -722,7 +722,9 @@ int Tag::toInt (int ofs, TagType astype) { case RATIONAL: a = (int)sget4 (value+ofs+4, getOrder()); return a==0 ? 0 : (int)sget4 (value+ofs, getOrder()) / a; case FLOAT: return (int)((float) sget4 (value+ofs, getOrder())); case UNDEFINED: return 0; + default: return 0; // Quick fix for missing cases (INVALID, DOUBLE, OLYUNDEF, SUBDIR) } + return 0; } double Tag::toDouble (int ofs) { @@ -736,10 +738,12 @@ double Tag::toDouble (int ofs) { case SLONG: case LONG: return (double)((int)sget4 (value+ofs, getOrder())); case SRATIONAL: - case RATIONAL: ud = (int)sget4 (value+ofs, getOrder()); dd = (int)sget4 (value+ofs+4, getOrder()); return dd==0 ? 0 : (double)ud / (double)dd; + case RATIONAL: ud = (int)sget4 (value+ofs, getOrder()); dd = (int)sget4 (value+ofs+4, getOrder()); return dd==0. ? 0. : (double)ud / (double)dd; case FLOAT: return (float) sget4 (value+ofs, getOrder()); - case UNDEFINED: return 0; + case UNDEFINED: return 0.; + default: return 0.; // Quick fix for missing cases (INVALID, DOUBLE, OLYUNDEF, SUBDIR) } + return 0.; } void Tag::toRational (int& num, int& denom, int ofs) { @@ -755,6 +759,7 @@ void Tag::toRational (int& num, int& denom, int ofs) { case RATIONAL: num = (int)sget4 (value+ofs, getOrder()); denom = (int)sget4 (value+ofs+4, getOrder()); break; case FLOAT: num = 0; denom = 0; break; case UNDEFINED: num = 0; denom = 0; break; + default: num = 0; denom = 0; // Quick fix for missing cases (INVALID, DOUBLE, OLYUNDEF, SUBDIR) } } @@ -931,23 +936,23 @@ int Tag::write (int offs, int dataOffs, unsigned char* buffer) { } Tag::Tag (TagDirectory* p, const TagAttrib* attr) - : parent(p), attrib(attr), makerNoteKind (NOMK), directory(NULL), keep(true), tag(attr ? attr->ID : -1), count(0), valuesize(0), value(NULL), type(INVALID),allocOwnMemory(true) { + : tag(attr ? attr->ID : -1), type(INVALID), count(0), value(NULL), valuesize(0), keep(true), allocOwnMemory(true), attrib(attr), parent(p), directory(NULL), makerNoteKind (NOMK) { } Tag::Tag (TagDirectory* p, const TagAttrib* attr, int data, TagType t) - : parent(p), attrib(attr), makerNoteKind (NOMK), directory(NULL), keep(true), tag(attr ? attr->ID : -1), count(1), valuesize(0), value(NULL), type(t),allocOwnMemory(true) { + : tag(attr ? attr->ID : -1), type(t), count(1), value(NULL), valuesize(0), keep(true), allocOwnMemory(true), attrib(attr), parent(p), directory(NULL), makerNoteKind (NOMK) { initInt (data, t); } Tag::Tag (TagDirectory* p, const TagAttrib* attr, unsigned char *data, TagType t) - : parent(p), attrib(attr), makerNoteKind (NOMK), directory(NULL), keep(true), tag(attr ? attr->ID : -1), count(1), valuesize(0), value(NULL), type(t),allocOwnMemory(false) { + : tag(attr ? attr->ID : -1), type(t), count(1), value(NULL), valuesize(0), keep(true), allocOwnMemory(false), attrib(attr), parent(p), directory(NULL), makerNoteKind (NOMK) { initType (data, t); } Tag::Tag (TagDirectory* p, const TagAttrib* attr, const char* text) - : parent(p), attrib(attr), makerNoteKind (NOMK), directory(NULL), keep(true), tag(attr ? attr->ID : -1), count(1), valuesize(0), value(NULL), type(ASCII),allocOwnMemory(true) { + : tag(attr ? attr->ID : -1), type(ASCII), count(1), value(NULL), valuesize(0), keep(true), allocOwnMemory(true), attrib(attr), parent(p), directory(NULL), makerNoteKind (NOMK) { initString (text); } @@ -1035,7 +1040,7 @@ void Tag::initRational (int num, int den) { } //--------------- class IFDParser --------------------------------------------- -// static functions to read tag directoryes from different kinds of files +// static functions to read tag directories from different kinds of files //----------------------------------------------------------------------------- @@ -1044,6 +1049,7 @@ const TagAttrib* lookupAttrib (const TagAttrib* dir, const char* field) { for (int i=0; dir[i].ignore!=-1; i++) if (!strcmp (dir[i].name, field)) return &dir[i]; + return 0; } diff --git a/rtexif/sonyminoltaattribs.cc b/rtexif/sonyminoltaattribs.cc index caa9364d8..c4a5d1402 100644 --- a/rtexif/sonyminoltaattribs.cc +++ b/rtexif/sonyminoltaattribs.cc @@ -757,109 +757,109 @@ class SAImageStyleInterpreter: public ChoiceInterpreter { SAImageStyleInterpreter saImageStyleInterpreter; const TagAttrib minoltaAttribs[] = { - 0, 1, 0, 0, 0x0000, "MakerNoteVersion", &stdInterpreter, - 0, 1, 0, 0, 0x0001, "MinoltaCameraSettingsOld", &stdInterpreter, - 0, 1, 0, 0, 0x0003, "MinoltaCameraSettings", &stdInterpreter, - 0, 1, 0, 0, 0x0004, "MinoltaCameraSettings7D", &stdInterpreter, - 0, 1, 0, 0, 0x0018, "ImageStabilization", &stdInterpreter, - 0, 1, 0, 0, 0x0040, "CompressedImageSize", &stdInterpreter, - 1, 1, 0, 0, 0x0081, "PreviewImage", &stdInterpreter, - 1, 1, 0, 0, 0x0088, "PreviewImageStart", &stdInterpreter, - 1, 1, 0, 0, 0x0089, "PreviewImageLength", &stdInterpreter, - 0, 1, 0, 0, 0x0100, "SceneMode", &saSceneModeInterpreter, - 0, 1, 0, 0, 0x0101, "ColorMode", &saColorModeInterpreter, - 0, 1, 0, 0, 0x0102, "MinoltaQuality", &maQualityInterpreter, - 0, 1, 0, 0, 0x0103, "MinoltaImageSize", &maImageSizeInterpreter, - 0, 1, 0, 0, 0x0104, "FlashExposureComp", &stdInterpreter, - 0, 1, 0, 0, 0x0105, "Teleconverter", &maTeleconverterInterpreter, - 0, 1, 0, 0, 0x0107, "ImageStabilization", &saOnOffInterpreter, - 0, 1, 0, 0, 0x010a, "ZoneMatching", &saZoneMatchingInterpreter, - 0, 1, 0, 0, 0x010b, "ColorTemperature", &stdInterpreter, - 0, 1, 0, 0, 0x010c, "LensID", &saLensIDInterpreter, - 0, 1, 0, 0, 0x0113, "ImageStabilization", &saOnOffInterpreter, - 0, 1, 0, 0, 0x0114, "MinoltaCameraSettings", &stdInterpreter, - 1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter, - 0, 1, 0, 0, 0x0f00, "MinoltaCameraSettings2", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0000, "MakerNoteVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x0001, "MinoltaCameraSettingsOld", &stdInterpreter}, + {0, 1, 0, 0, 0x0003, "MinoltaCameraSettings", &stdInterpreter}, + {0, 1, 0, 0, 0x0004, "MinoltaCameraSettings7D", &stdInterpreter}, + {0, 1, 0, 0, 0x0018, "ImageStabilization", &stdInterpreter}, + {0, 1, 0, 0, 0x0040, "CompressedImageSize", &stdInterpreter}, + {1, 1, 0, 0, 0x0081, "PreviewImage", &stdInterpreter}, + {1, 1, 0, 0, 0x0088, "PreviewImageStart", &stdInterpreter}, + {1, 1, 0, 0, 0x0089, "PreviewImageLength", &stdInterpreter}, + {0, 1, 0, 0, 0x0100, "SceneMode", &saSceneModeInterpreter}, + {0, 1, 0, 0, 0x0101, "ColorMode", &saColorModeInterpreter}, + {0, 1, 0, 0, 0x0102, "MinoltaQuality", &maQualityInterpreter}, + {0, 1, 0, 0, 0x0103, "MinoltaImageSize", &maImageSizeInterpreter}, + {0, 1, 0, 0, 0x0104, "FlashExposureComp", &stdInterpreter}, + {0, 1, 0, 0, 0x0105, "Teleconverter", &maTeleconverterInterpreter}, + {0, 1, 0, 0, 0x0107, "ImageStabilization", &saOnOffInterpreter}, + {0, 1, 0, 0, 0x010a, "ZoneMatching", &saZoneMatchingInterpreter}, + {0, 1, 0, 0, 0x010b, "ColorTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0x010c, "LensID", &saLensIDInterpreter}, + {0, 1, 0, 0, 0x0113, "ImageStabilization", &saOnOffInterpreter}, + {0, 1, 0, 0, 0x0114, "MinoltaCameraSettings", &stdInterpreter}, + {1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter}, + {0, 1, 0, 0, 0x0f00, "MinoltaCameraSettings2", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib sonyAttribs[] = { - 0, 1, 0, 0, 0x0102, "Quality", &maQualityInterpreter, - 0, 1, 0, 0, 0x0104, "FlashExposureComp",&stdInterpreter, - 0, 1, 0, 0, 0x0106, "TeleConverter", &maTeleconverterInterpreter, - 0, 1, 0, sonyCameraSettingsAttribs, 0x0114, "SonyCameraSettings",&stdInterpreter, - 0, 1, 0, 0, 0x0115, "WhiteBalance",&saWhiteBalanceInterpreter, - 1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter, - 1, 1, 0, 0, 0x2001, "PreviewImage", &stdInterpreter, - 0, 1, 0, 0, 0x200a, "AutoHDR", &stdInterpreter, - 0, 1, 0, 0, 0xb020, "ColorReproduction", &stdInterpreter, - 0, 1, 0, 0, 0xb021, "ColorTemperature", &stdInterpreter, - 0, 1, 0, 0, 0xb023, "SceneMode", &saSceneModeInterpreter, - 0, 1, 0, 0, 0xb024, "ZoneMatching", &saZoneMatchingInterpreter, - 0, 1, 0, 0, 0xb025, "DynamicRangeOptimizer", &saDynamicRangeOptimizerInterpreter, - 0, 1, 0, 0, 0xb026, "ImageStabilization", &saOnOffInterpreter, - 0, 1, 0, 0, 0xb027, "LensID", &saLensIDInterpreter, - 0, 1, 0, minoltaAttribs, 0xb028, "MinoltaMakerNote", &stdInterpreter, - 0, 1, 0, 0, 0xb029, "ColorMode", &saColorModeInterpreter, - 0, 1, 0, 0, 0xb040, "Macro", &saOnOffInterpreter, - 0, 1, 0, 0, 0xb041, "ExposureMode", &saExposureModeInterpreter, - 0, 1, 0, 0, 0xb042, "FocusMode", &saFocusMode, - 0, 1, 0, 0, 0xb043, "AFMode", &saAFMode, - 0, 1, 0, 0, 0xb044, "AFIlluminator", &saAFIlluminator, - 0, 1, 0, 0, 0xb047, "Quality", &saQualityInterpreter, - 0, 1, 0, 0, 0xb049, "ReleaseMode",&saReleaseModeInterpreter, - 0, 1, 0, 0, 0xb04b, "AntiBlur", &saAntiBlurInterpreter, - 0, 1, 0, 0, 0xb04e, "LongExposureNoiseReduction", &saOnOffInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 0x0102, "Quality", &maQualityInterpreter}, + {0, 1, 0, 0, 0x0104, "FlashExposureComp",&stdInterpreter}, + {0, 1, 0, 0, 0x0106, "TeleConverter", &maTeleconverterInterpreter}, + {0, 1, 0, sonyCameraSettingsAttribs, 0x0114, "SonyCameraSettings",&stdInterpreter}, + {0, 1, 0, 0, 0x0115, "WhiteBalance",&saWhiteBalanceInterpreter}, + {1, 1, 0, 0, 0x0e00, "PrintIM", &stdInterpreter}, + {1, 1, 0, 0, 0x2001, "PreviewImage", &stdInterpreter}, + {0, 1, 0, 0, 0x200a, "AutoHDR", &stdInterpreter}, + {0, 1, 0, 0, 0xb020, "ColorReproduction", &stdInterpreter}, + {0, 1, 0, 0, 0xb021, "ColorTemperature", &stdInterpreter}, + {0, 1, 0, 0, 0xb023, "SceneMode", &saSceneModeInterpreter}, + {0, 1, 0, 0, 0xb024, "ZoneMatching", &saZoneMatchingInterpreter}, + {0, 1, 0, 0, 0xb025, "DynamicRangeOptimizer", &saDynamicRangeOptimizerInterpreter}, + {0, 1, 0, 0, 0xb026, "ImageStabilization", &saOnOffInterpreter}, + {0, 1, 0, 0, 0xb027, "LensID", &saLensIDInterpreter}, + {0, 1, 0, minoltaAttribs, 0xb028, "MinoltaMakerNote", &stdInterpreter}, + {0, 1, 0, 0, 0xb029, "ColorMode", &saColorModeInterpreter}, + {0, 1, 0, 0, 0xb040, "Macro", &saOnOffInterpreter}, + {0, 1, 0, 0, 0xb041, "ExposureMode", &saExposureModeInterpreter}, + {0, 1, 0, 0, 0xb042, "FocusMode", &saFocusMode}, + {0, 1, 0, 0, 0xb043, "AFMode", &saAFMode}, + {0, 1, 0, 0, 0xb044, "AFIlluminator", &saAFIlluminator}, + {0, 1, 0, 0, 0xb047, "Quality", &saQualityInterpreter}, + {0, 1, 0, 0, 0xb049, "ReleaseMode",&saReleaseModeInterpreter}, + {0, 1, 0, 0, 0xb04b, "AntiBlur", &saAntiBlurInterpreter}, + {0, 1, 0, 0, 0xb04e, "LongExposureNoiseReduction", &saOnOffInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib sonyCameraSettingsAttribs[]={ -0, 1, 0, 0, 4, "DriveMode", &saDriveMode, -0, 1, 0, 0, 6, "WhiteBalanceFineTune",&stdInterpreter, -0, 1, 0, 0, 16, "FocusMode",&saFocusMode, -0, 1, 0, 0, 17, "AFAreaMode",&saAFAreaMode, -0, 1, 0, 0, 18, "LocalAFAreaPoint", &saLocalAFAreaPoint, -0, 1, 0, 0, 21, "MeteringMode",&saMeteringMode, -0, 1, 0, 0, 22, "ISOSetting",&stdInterpreter, -0, 1, 0, 0, 24, "DynamicRangeOptimizerMode", &saDynamicRangeOptimizerMode, -0, 1, 0, 0, 25, "DynamicRangeOptimizerLevel",&stdInterpreter, -0, 1, 0, 0, 26, "CreativeStyle",&saCreativeStyle, -0, 1, 0, 0, 28, "Sharpness",&stdInterpreter, -0, 1, 0, 0, 29, "Contrast",&stdInterpreter, -0, 1, 0, 0, 30, "Saturation",&stdInterpreter, -0, 1, 0, 0, 31, "ZoneMatchingValue",&stdInterpreter, -0, 1, 0, 0, 34, "Brightness",&stdInterpreter, -0, 1, 0, 0, 35, "FlashMode",&saFlashMode, -0, 1, 0, 0, 40, "PrioritySetupShutterRelease",&stdInterpreter, -0, 1, 0, 0, 41, "AFIlluminator",&saAFIlluminator, -0, 1, 0, 0, 42, "AFWithShutter",&saOnOffInterpreter, -0, 1, 0, 0, 43, "LongExposureNoiseReduction",&saOnOffInterpreter, -0, 1, 0, 0, 44, "HighISONoiseReduction",&stdInterpreter, -0, 1, 0, 0, 45, "ImageStyle",&saImageStyleInterpreter, -0, 1, 0, 0, 60, "ExposureProgram",&saExposureProgram, -0, 1, 0, 0, 61, "ImageStabilization",&saOnOffInterpreter, -0, 1, 0, 0, 63, "Rotation",&saRotation, -0, 1, 0, 0, 84, "SonyImageSize",&saSonyImageSize, -0, 1, 0, 0, 85, "AspectRatio",&saAspectRatio, -0, 1, 0, 0, 86, "Quality",&saQualityInterpreter2, -0, 1, 0, 0, 88, "ExposureLevelIncrements",&saExposureLevelIncrements, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 4, "DriveMode", &saDriveMode}, + {0, 1, 0, 0, 6, "WhiteBalanceFineTune",&stdInterpreter}, + {0, 1, 0, 0, 16, "FocusMode",&saFocusMode}, + {0, 1, 0, 0, 17, "AFAreaMode",&saAFAreaMode}, + {0, 1, 0, 0, 18, "LocalAFAreaPoint", &saLocalAFAreaPoint}, + {0, 1, 0, 0, 21, "MeteringMode",&saMeteringMode}, + {0, 1, 0, 0, 22, "ISOSetting",&stdInterpreter}, + {0, 1, 0, 0, 24, "DynamicRangeOptimizerMode", &saDynamicRangeOptimizerMode}, + {0, 1, 0, 0, 25, "DynamicRangeOptimizerLevel",&stdInterpreter}, + {0, 1, 0, 0, 26, "CreativeStyle",&saCreativeStyle}, + {0, 1, 0, 0, 28, "Sharpness",&stdInterpreter}, + {0, 1, 0, 0, 29, "Contrast",&stdInterpreter}, + {0, 1, 0, 0, 30, "Saturation",&stdInterpreter}, + {0, 1, 0, 0, 31, "ZoneMatchingValue",&stdInterpreter}, + {0, 1, 0, 0, 34, "Brightness",&stdInterpreter}, + {0, 1, 0, 0, 35, "FlashMode",&saFlashMode}, + {0, 1, 0, 0, 40, "PrioritySetupShutterRelease",&stdInterpreter}, + {0, 1, 0, 0, 41, "AFIlluminator",&saAFIlluminator}, + {0, 1, 0, 0, 42, "AFWithShutter",&saOnOffInterpreter}, + {0, 1, 0, 0, 43, "LongExposureNoiseReduction",&saOnOffInterpreter}, + {0, 1, 0, 0, 44, "HighISONoiseReduction",&stdInterpreter}, + {0, 1, 0, 0, 45, "ImageStyle",&saImageStyleInterpreter}, + {0, 1, 0, 0, 60, "ExposureProgram",&saExposureProgram}, + {0, 1, 0, 0, 61, "ImageStabilization",&saOnOffInterpreter}, + {0, 1, 0, 0, 63, "Rotation",&saRotation}, + {0, 1, 0, 0, 84, "SonyImageSize",&saSonyImageSize}, + {0, 1, 0, 0, 85, "AspectRatio",&saAspectRatio}, + {0, 1, 0, 0, 86, "Quality",&saQualityInterpreter2}, + {0, 1, 0, 0, 88, "ExposureLevelIncrements",&saExposureLevelIncrements}, + {-1, 0, 0, 0, 0, "", NULL}}; const TagAttrib sonyCameraSettingsAttribs2[]={ -0, 1, 0, 0, 16, "FocusMode",&saFocusMode, -0, 1, 0, 0, 17, "AFAreaMode",&saAFAreaMode, -0, 1, 0, 0, 18, "LocalAFAreaPoint",&saLocalAFAreaPoint, -0, 1, 0, 0, 19, "MeteringMode",&saMeteringMode, -0, 1, 0, 0, 20, "ISOSetting",&stdInterpreter, -0, 1, 0, 0, 22, "DynamicRangeOptimizerMode",&saDynamicRangeOptimizerMode, -0, 1, 0, 0, 23, "DynamicRangeOptimizerLevel",&stdInterpreter, -0, 1, 0, 0, 24, "CreativeStyle",&saCreativeStyle, -0, 1, 0, 0, 25, "Sharpness",&stdInterpreter, -0, 1, 0, 0, 26, "Contrast",&stdInterpreter, -0, 1, 0, 0, 27, "Saturation",&stdInterpreter, -0, 1, 0, 0, 35, "FlashMode",&saFlashMode, -0, 1, 0, 0, 60, "ExposureProgram",&saExposureProgram, -0, 1, 0, 0, 63, "Rotation",&saRotation, -0, 1, 0, 0, 84, "SonyImageSize",&saSonyImageSize, --1, 0, 0, 0, 0, "", NULL}; + {0, 1, 0, 0, 16, "FocusMode",&saFocusMode}, + {0, 1, 0, 0, 17, "AFAreaMode",&saAFAreaMode}, + {0, 1, 0, 0, 18, "LocalAFAreaPoint",&saLocalAFAreaPoint}, + {0, 1, 0, 0, 19, "MeteringMode",&saMeteringMode}, + {0, 1, 0, 0, 20, "ISOSetting",&stdInterpreter}, + {0, 1, 0, 0, 22, "DynamicRangeOptimizerMode",&saDynamicRangeOptimizerMode}, + {0, 1, 0, 0, 23, "DynamicRangeOptimizerLevel",&stdInterpreter}, + {0, 1, 0, 0, 24, "CreativeStyle",&saCreativeStyle}, + {0, 1, 0, 0, 25, "Sharpness",&stdInterpreter}, + {0, 1, 0, 0, 26, "Contrast",&stdInterpreter}, + {0, 1, 0, 0, 27, "Saturation",&stdInterpreter}, + {0, 1, 0, 0, 35, "FlashMode",&saFlashMode}, + {0, 1, 0, 0, 60, "ExposureProgram",&saExposureProgram}, + {0, 1, 0, 0, 63, "Rotation",&saRotation}, + {0, 1, 0, 0, 84, "SonyImageSize",&saSonyImageSize}, + {-1, 0, 0, 0, 0, "", NULL}}; }; #endif diff --git a/rtexif/stdattribs.cc b/rtexif/stdattribs.cc index 641d32202..c3733ae27 100644 --- a/rtexif/stdattribs.cc +++ b/rtexif/stdattribs.cc @@ -366,160 +366,160 @@ public: UnitsInterpreter unitsInterpreter; const TagAttrib exifAttribs[] = { - 0, 2, 0, 0, 0x0100, "ImageWidth", &stdInterpreter, - 0, 2, 0, 0, 0x0101, "ImageHeight", &stdInterpreter, - 0, 2, 0, 0, 0x0102, "BitsPerSample", &stdInterpreter, - 0, 2, 0, 0, 0x0103, "Compression", &compressionInterpreter, - 0, 1, 0, 0, 0x828d, "CFAPatternDim", &stdInterpreter, - 0, 1, 0, 0, 0x828e, "CFAPattern", &cfaInterpreter, - 0, 1, 0, 0, 0x829A, "ExposureTime", &exposureTimeInterpreter, - 0, 1, 0, 0, 0x829D, "FNumber", &fNumberInterpreter, - 0, 1, 0, 0, 0x8822, "ExposureProgram", &exposureProgramInterpreter, - 0, 1, 0, 0, 0x8824, "SpectralSensitivity", &stdInterpreter, - 0, 1, 0, 0, 0x8827, "ISOSpeedRatings", &stdInterpreter, - 0, 1, 0, 0, 0x8828, "OECF", &stdInterpreter, - 0, 1, 0, 0, 0x9000, "ExifVersion", &stdInterpreter, - 0, 1, 0, 0, 0x9003, "DateTimeOriginal", &stdInterpreter, - 0, 1, 0, 0, 0x9004, "DateTimeDigitized", &stdInterpreter, - 0, 2, 0, 0, 0x9101, "ComponentsConfiguration", &stdInterpreter, - 0, 2, 0, 0, 0x9102, "CompressedBitsPerPixel", &stdInterpreter, - 0, 1, 0, 0, 0x9201, "ShutterSpeedValue", &shutterSpeedInterpreter, - 0, 1, 0, 0, 0x9202, "ApertureValue", &apertureInterpreter, - 0, 1, 0, 0, 0x9203, "BrightnessValue", &stdInterpreter, - 0, 1, 0, 0, 0x9204, "ExposureBiasValue", &exposureBiasInterpreter, - 0, 1, 0, 0, 0x9205, "MaxApertureValue", &apertureInterpreter, - 0, 1, 0, 0, 0x9206, "SubjectDistance", &stdInterpreter, - 0, 1, 0, 0, 0x9207, "MeteringMode", &meteringModeInterpreter, - 0, 1, 0, 0, 0x9208, "LightSource", &lightSourceInterpreter, - 0, 1, 0, 0, 0x9209, "Flash", &flashInterpreter, - 0, 1, 0, 0, 0x920A, "FocalLength", &focalLengthInterpreter, - 0, 1, 0, 0, 0x9214, "SubjectArea", &stdInterpreter, - 0, 0, 0, 0, 0x9216, "TIFFEPSStandardID", &stdInterpreter, - 0, 1, 0, 0, 0x9217, "SensingMethod", &stdInterpreter, - 0, 1, 0, 0, 0x927C, "MakerNote", &stdInterpreter, - 0, 1, 1, 0, 0x9286, "UserComment", &userCommentInterpreter, - 0, 1, 0, 0, 0x9290, "SubSecTime", &stdInterpreter, - 0, 1, 0, 0, 0x9291, "SubSecTimeOriginal", &stdInterpreter, - 0, 1, 0, 0, 0x9292, "SubSecTimeDigitized", &stdInterpreter, - 0, 2, 0, 0, 0xA000, "FlashpixVersion", &stdInterpreter, - 0, 0, 0, 0, 0xA001, "ColorSpace", &colorSpaceInterpreter, - 0, 2, 0, 0, 0xA002, "PixelXDimension", &stdInterpreter, - 0, 2, 0, 0, 0xA003, "PixelYDimension", &stdInterpreter, - 1, 0, 0, 0, 0xA004, "RelatedSoundFile", &stdInterpreter, - 0, 1, 0, iopAttribs, 0xA005, "Interoperability", &stdInterpreter, - 0, 1, 0, 0, 0xA20B, "FlashEnergy", &stdInterpreter, - 0, 1, 0, 0, 0xA20C, "SpatialFrequencyResponse", &stdInterpreter, - 0, 1, 0, 0, 0xA20E, "FocalPlaneXResolution", &stdInterpreter, - 0, 1, 0, 0, 0xA20F, "FocalPlaneYResolution", &stdInterpreter, - 0, 1, 0, 0, 0xA210, "FocalPlaneResolutionUnit", &stdInterpreter, - 0, 1, 0, 0, 0xA214, "SubjectLocation", &stdInterpreter, - 0, 1, 0, 0, 0xA215, "ExposureIndex", &stdInterpreter, - 0, 1, 0, 0, 0xA217, "SensingMethod", &stdInterpreter, - 0, 1, 0, 0, 0xA300, "FileSource", &stdInterpreter, - 0, 1, 0, 0, 0xA301, "SceneType", &stdInterpreter, - 0, 0, 0, 0, 0xA302, "CFAPattern", &cfaInterpreter, - 0, 1, 0, 0, 0xA401, "CustomRendered", &stdInterpreter, - 0, 1, 0, 0, 0xA402, "ExposureMode", &exposureModeInterpreter, - 0, 1, 0, 0, 0xA403, "WhiteBalance", &whiteBalanceInterpreter, - 0, 1, 0, 0, 0xA404, "DigitalZoomRatio", &stdInterpreter, - 0, 1, 0, 0, 0xA405, "FocalLengthIn35mmFilm", &stdInterpreter, - 0, 1, 0, 0, 0xA406, "SceneCaptureType", &sceneCaptureInterpreter, - 0, 1, 0, 0, 0xA407, "GainControl", &gainControlInterpreter, - 0, 1, 0, 0, 0xA408, "Contrast", &contrastInterpreter, - 0, 1, 0, 0, 0xA409, "Saturation", &saturationInterpreter, - 0, 1, 0, 0, 0xA40A, "Sharpness", &sharpnessInterpreter, - 0, 1, 0, 0, 0xA40B, "DeviceSettingDescription", &stdInterpreter, - 0, 1, 0, 0, 0xA40C, "SubjectDistanceRange", &stdInterpreter, - 0, 1, 0, 0, 0xA420, "ImageUniqueID", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL }; + {0, 2, 0, 0, 0x0100, "ImageWidth", &stdInterpreter}, + {0, 2, 0, 0, 0x0101, "ImageHeight", &stdInterpreter}, + {0, 2, 0, 0, 0x0102, "BitsPerSample", &stdInterpreter}, + {0, 2, 0, 0, 0x0103, "Compression", &compressionInterpreter}, + {0, 1, 0, 0, 0x828d, "CFAPatternDim", &stdInterpreter}, + {0, 1, 0, 0, 0x828e, "CFAPattern", &cfaInterpreter}, + {0, 1, 0, 0, 0x829A, "ExposureTime", &exposureTimeInterpreter}, + {0, 1, 0, 0, 0x829D, "FNumber", &fNumberInterpreter}, + {0, 1, 0, 0, 0x8822, "ExposureProgram", &exposureProgramInterpreter}, + {0, 1, 0, 0, 0x8824, "SpectralSensitivity", &stdInterpreter}, + {0, 1, 0, 0, 0x8827, "ISOSpeedRatings", &stdInterpreter}, + {0, 1, 0, 0, 0x8828, "OECF", &stdInterpreter}, + {0, 1, 0, 0, 0x9000, "ExifVersion", &stdInterpreter}, + {0, 1, 0, 0, 0x9003, "DateTimeOriginal", &stdInterpreter}, + {0, 1, 0, 0, 0x9004, "DateTimeDigitized", &stdInterpreter}, + {0, 2, 0, 0, 0x9101, "ComponentsConfiguration", &stdInterpreter}, + {0, 2, 0, 0, 0x9102, "CompressedBitsPerPixel", &stdInterpreter}, + {0, 1, 0, 0, 0x9201, "ShutterSpeedValue", &shutterSpeedInterpreter}, + {0, 1, 0, 0, 0x9202, "ApertureValue", &apertureInterpreter}, + {0, 1, 0, 0, 0x9203, "BrightnessValue", &stdInterpreter}, + {0, 1, 0, 0, 0x9204, "ExposureBiasValue", &exposureBiasInterpreter}, + {0, 1, 0, 0, 0x9205, "MaxApertureValue", &apertureInterpreter}, + {0, 1, 0, 0, 0x9206, "SubjectDistance", &stdInterpreter}, + {0, 1, 0, 0, 0x9207, "MeteringMode", &meteringModeInterpreter}, + {0, 1, 0, 0, 0x9208, "LightSource", &lightSourceInterpreter}, + {0, 1, 0, 0, 0x9209, "Flash", &flashInterpreter}, + {0, 1, 0, 0, 0x920A, "FocalLength", &focalLengthInterpreter}, + {0, 1, 0, 0, 0x9214, "SubjectArea", &stdInterpreter}, + {0, 0, 0, 0, 0x9216, "TIFFEPSStandardID", &stdInterpreter}, + {0, 1, 0, 0, 0x9217, "SensingMethod", &stdInterpreter}, + {0, 1, 0, 0, 0x927C, "MakerNote", &stdInterpreter}, + {0, 1, 1, 0, 0x9286, "UserComment", &userCommentInterpreter}, + {0, 1, 0, 0, 0x9290, "SubSecTime", &stdInterpreter}, + {0, 1, 0, 0, 0x9291, "SubSecTimeOriginal", &stdInterpreter}, + {0, 1, 0, 0, 0x9292, "SubSecTimeDigitized", &stdInterpreter}, + {0, 2, 0, 0, 0xA000, "FlashpixVersion", &stdInterpreter}, + {0, 0, 0, 0, 0xA001, "ColorSpace", &colorSpaceInterpreter}, + {0, 2, 0, 0, 0xA002, "PixelXDimension", &stdInterpreter}, + {0, 2, 0, 0, 0xA003, "PixelYDimension", &stdInterpreter}, + {1, 0, 0, 0, 0xA004, "RelatedSoundFile", &stdInterpreter}, + {0, 1, 0, iopAttribs, 0xA005, "Interoperability", &stdInterpreter}, + {0, 1, 0, 0, 0xA20B, "FlashEnergy", &stdInterpreter}, + {0, 1, 0, 0, 0xA20C, "SpatialFrequencyResponse", &stdInterpreter}, + {0, 1, 0, 0, 0xA20E, "FocalPlaneXResolution", &stdInterpreter}, + {0, 1, 0, 0, 0xA20F, "FocalPlaneYResolution", &stdInterpreter}, + {0, 1, 0, 0, 0xA210, "FocalPlaneResolutionUnit", &stdInterpreter}, + {0, 1, 0, 0, 0xA214, "SubjectLocation", &stdInterpreter}, + {0, 1, 0, 0, 0xA215, "ExposureIndex", &stdInterpreter}, + {0, 1, 0, 0, 0xA217, "SensingMethod", &stdInterpreter}, + {0, 1, 0, 0, 0xA300, "FileSource", &stdInterpreter}, + {0, 1, 0, 0, 0xA301, "SceneType", &stdInterpreter}, + {0, 0, 0, 0, 0xA302, "CFAPattern", &cfaInterpreter}, + {0, 1, 0, 0, 0xA401, "CustomRendered", &stdInterpreter}, + {0, 1, 0, 0, 0xA402, "ExposureMode", &exposureModeInterpreter}, + {0, 1, 0, 0, 0xA403, "WhiteBalance", &whiteBalanceInterpreter}, + {0, 1, 0, 0, 0xA404, "DigitalZoomRatio", &stdInterpreter}, + {0, 1, 0, 0, 0xA405, "FocalLengthIn35mmFilm", &stdInterpreter}, + {0, 1, 0, 0, 0xA406, "SceneCaptureType", &sceneCaptureInterpreter}, + {0, 1, 0, 0, 0xA407, "GainControl", &gainControlInterpreter}, + {0, 1, 0, 0, 0xA408, "Contrast", &contrastInterpreter}, + {0, 1, 0, 0, 0xA409, "Saturation", &saturationInterpreter}, + {0, 1, 0, 0, 0xA40A, "Sharpness", &sharpnessInterpreter}, + {0, 1, 0, 0, 0xA40B, "DeviceSettingDescription", &stdInterpreter}, + {0, 1, 0, 0, 0xA40C, "SubjectDistanceRange", &stdInterpreter}, + {0, 1, 0, 0, 0xA420, "ImageUniqueID", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL }}; const TagAttrib gpsAttribs[] = { - 0, 1, 0, 0, 0x0000, "GPSVersionID", &stdInterpreter, - 0, 1, 0, 0, 0x0001, "GPSLatitudeRef", &stdInterpreter, - 0, 1, 0, 0, 0x0002, "GPSLatitude", &stdInterpreter, - 0, 1, 0, 0, 0x0003, "GPSLongitudeRef", &stdInterpreter, - 0, 1, 0, 0, 0x0004, "GPSLongitude", &stdInterpreter, - 0, 1, 0, 0, 0x0005, "GPSAltitudeRef", &stdInterpreter, - 0, 1, 0, 0, 0x0006, "GPSAltitude", &stdInterpreter, - 0, 1, 0, 0, 0x0007, "GPSTimeStamp", &stdInterpreter, - 0, 1, 0, 0, 0x0008, "GPSSatelites", &stdInterpreter, - 0, 1, 0, 0, 0x0009, "GPSStatus", &stdInterpreter, - 0, 1, 0, 0, 0x000a, "GPSMeasureMode", &stdInterpreter, - 0, 1, 0, 0, 0x000b, "GPSDOP", &stdInterpreter, - 0, 1, 0, 0, 0x000c, "GPSSpeedRef", &stdInterpreter, - 0, 1, 0, 0, 0x000d, "GPSSpeed", &stdInterpreter, - 0, 1, 0, 0, 0x000e, "GPSTrackRef", &stdInterpreter, - 0, 1, 0, 0, 0x000f, "GPSTrack", &stdInterpreter, - 0, 1, 0, 0, 0x0010, "GPSImgDirectionRef", &stdInterpreter, - 0, 1, 0, 0, 0x0011, "GPSImgDirection", &stdInterpreter, - 0, 1, 0, 0, 0x0012, "GPSMapDatum", &stdInterpreter, - 0, 1, 0, 0, 0x0013, "GPSDestLatitudeRef", &stdInterpreter, - 0, 1, 0, 0, 0x0014, "GPSDestLatitude", &stdInterpreter, - 0, 1, 0, 0, 0x0015, "GPSDestLongitudeRef", &stdInterpreter, - 0, 1, 0, 0, 0x0016, "GPSDestLongitude", &stdInterpreter, - 0, 1, 0, 0, 0x0017, "GPSDestBearingRef", &stdInterpreter, - 0, 1, 0, 0, 0x0018, "GPSDestBearing", &stdInterpreter, - 0, 1, 0, 0, 0x0019, "GPSDestDistanceRef", &stdInterpreter, - 0, 1, 0, 0, 0x001a, "GPSDestDistance", &stdInterpreter, - 0, 1, 0, 0, 0x001b, "GPSProcessingMethod", &stdInterpreter, - 0, 1, 0, 0, 0x001c, "GPSAreaInformation", &stdInterpreter, - 0, 1, 0, 0, 0x001d, "GPSDateStamp", &stdInterpreter, - 0, 1, 0, 0, 0x001e, "GPSDifferential", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL }; + {0, 1, 0, 0, 0x0000, "GPSVersionID", &stdInterpreter}, + {0, 1, 0, 0, 0x0001, "GPSLatitudeRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0002, "GPSLatitude", &stdInterpreter}, + {0, 1, 0, 0, 0x0003, "GPSLongitudeRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0004, "GPSLongitude", &stdInterpreter}, + {0, 1, 0, 0, 0x0005, "GPSAltitudeRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0006, "GPSAltitude", &stdInterpreter}, + {0, 1, 0, 0, 0x0007, "GPSTimeStamp", &stdInterpreter}, + {0, 1, 0, 0, 0x0008, "GPSSatelites", &stdInterpreter}, + {0, 1, 0, 0, 0x0009, "GPSStatus", &stdInterpreter}, + {0, 1, 0, 0, 0x000a, "GPSMeasureMode", &stdInterpreter}, + {0, 1, 0, 0, 0x000b, "GPSDOP", &stdInterpreter}, + {0, 1, 0, 0, 0x000c, "GPSSpeedRef", &stdInterpreter}, + {0, 1, 0, 0, 0x000d, "GPSSpeed", &stdInterpreter}, + {0, 1, 0, 0, 0x000e, "GPSTrackRef", &stdInterpreter}, + {0, 1, 0, 0, 0x000f, "GPSTrack", &stdInterpreter}, + {0, 1, 0, 0, 0x0010, "GPSImgDirectionRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0011, "GPSImgDirection", &stdInterpreter}, + {0, 1, 0, 0, 0x0012, "GPSMapDatum", &stdInterpreter}, + {0, 1, 0, 0, 0x0013, "GPSDestLatitudeRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0014, "GPSDestLatitude", &stdInterpreter}, + {0, 1, 0, 0, 0x0015, "GPSDestLongitudeRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0016, "GPSDestLongitude", &stdInterpreter}, + {0, 1, 0, 0, 0x0017, "GPSDestBearingRef", &stdInterpreter}, + {0, 1, 0, 0, 0x0018, "GPSDestBearing", &stdInterpreter}, + {0, 1, 0, 0, 0x0019, "GPSDestDistanceRef", &stdInterpreter}, + {0, 1, 0, 0, 0x001a, "GPSDestDistance", &stdInterpreter}, + {0, 1, 0, 0, 0x001b, "GPSProcessingMethod", &stdInterpreter}, + {0, 1, 0, 0, 0x001c, "GPSAreaInformation", &stdInterpreter}, + {0, 1, 0, 0, 0x001d, "GPSDateStamp", &stdInterpreter}, + {0, 1, 0, 0, 0x001e, "GPSDifferential", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL }}; const TagAttrib iopAttribs[] = { - 0, 1, 0, 0, 0x0001, "InteroperabilityIndex", &stdInterpreter, - 0, 1, 0, 0, 0x0002, "InteroperabilityVersion", &stdInterpreter, --1, 0, 0, 0, 0, "", NULL }; + {0, 1, 0, 0, 0x0001, "InteroperabilityIndex", &stdInterpreter}, + {0, 1, 0, 0, 0x0002, "InteroperabilityVersion", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL }}; const TagAttrib ifdAttribs[] = { - 0, 2, 0, 0, 0x0017, "PanaISO", &stdInterpreter, - 0, 2, 0, 0, 0x0100, "ImageWidth", &stdInterpreter, - 0, 2, 0, 0, 0x0101, "ImageHeight", &stdInterpreter, - 0, 2, 0, 0, 0x0102, "BitsPerSample", &stdInterpreter, - 0, 2, 0, 0, 0x0103, "Compression", &compressionInterpreter, - 0, 2, 0, 0, 0x0106, "PhotometricInterpretation", &photometricInterpreter, - 0, 1, 1, 0, 0x010E, "ImageDescription", &stdInterpreter, - 0, 1, 0, 0, 0x010F, "Make", &stdInterpreter, - 0, 1, 0, 0, 0x0110, "Model", &stdInterpreter, - 1, 0, 0, 0, 0x0111, "StripOffsets", &stdInterpreter, - 0, 2, 0, 0, 0x0112, "Orientation", &orientationInterpreter, - 0, 2, 0, 0, 0x0115, "SamplesPerPixel", &stdInterpreter, - 1, 0, 0, 0, 0x0116, "RowsPerStrip", &stdInterpreter, - 1, 0, 0, 0, 0x0117, "StripByteCounts", &stdInterpreter, - 0, 2, 0, 0, 0x011A, "XResolution", &stdInterpreter, - 0, 2, 0, 0, 0x011B, "YResolution", &stdInterpreter, - 0, 2, 0, 0, 0x011C, "PlanarConfiguration", &planarConfigInterpreter, - 0, 2, 0, 0, 0x0128, "ResolutionUnit", &unitsInterpreter, - 0, 2, 0, 0, 0x012D, "TransferFunction", &stdInterpreter, - 0, 2, 0, 0, 0x0131, "Software", &stdInterpreter, - 0, 1, 0, 0, 0x0132, "DateTime", &stdInterpreter, - 0, 1, 1, 0, 0x013B, "Artist", &stdInterpreter, - 0, 2, 0, 0, 0x013E, "WhitePoint", &stdInterpreter, - 0, 2, 0, 0, 0x013F, "PriomaryChromaticities", &stdInterpreter, - 0, 1, 0, ifdAttribs, 0x014A, "SubIFD", &stdInterpreter, - 0, 2, 0, 0, 0x0201, "JPEGInterchangeFormat", &stdInterpreter, - 0, 2, 0, 0, 0x0202, "JPEGInterchangeFormatLength", &stdInterpreter, - 0, 2, 0, 0, 0x0211, "YCbCrCoefficients", &stdInterpreter, - 0, 2, 0, 0, 0x0212, "YCbCrSubSampling", &stdInterpreter, - 0, 2, 0, 0, 0x0213, "YCbCrPositioning", &stdInterpreter, - 0, 2, 0, 0, 0x0214, "ReferenceBlackWhite", &stdInterpreter, - 0, 1, 0, 0, 0x4746, "Rating",&stdInterpreter, - 0, 1, 0, 0, 0x4749, "RatingPercent",&stdInterpreter, - 0, 1, 0, 0, 0x828d, "CFAPatternDim", &stdInterpreter, - 0, 1, 0, 0, 0x828e, "CFAPattern", &cfaInterpreter, - 0, 1, 1, 0, 0x8298, "Copyright", &stdInterpreter, - 0, 1, 0, exifAttribs, 0x8769, "Exif", &stdInterpreter, - 0, 2, 0, 0, 0x8773, "ICCProfile", &stdInterpreter, - 0, 2, 0, 0, 0x83BB, "IPTCData", &stdInterpreter, - 0, 1, 0, gpsAttribs, 0x8825, "GPSInfo", &stdInterpreter, - 0, 1, 0, 0, 0x9003, "DateTimeOriginal", &stdInterpreter, - 0, 1, 0, 0, 0x9004, "DateTimeDigitized", &stdInterpreter, - 0, 1, 0, iopAttribs, 0xA005, "Interoperability", &stdInterpreter, - 0, 0, 0, 0, 0xC4A5, "PrintIMInformation", &stdInterpreter, - 0, 2, 0, 0, 0x00fe, "NewSubFileType", &stdInterpreter, - -1, 0, 0, 0, 0, "", NULL}; + {0, 2, 0, 0, 0x0017, "PanaISO", &stdInterpreter}, + {0, 2, 0, 0, 0x0100, "ImageWidth", &stdInterpreter}, + {0, 2, 0, 0, 0x0101, "ImageHeight", &stdInterpreter}, + {0, 2, 0, 0, 0x0102, "BitsPerSample", &stdInterpreter}, + {0, 2, 0, 0, 0x0103, "Compression", &compressionInterpreter}, + {0, 2, 0, 0, 0x0106, "PhotometricInterpretation", &photometricInterpreter}, + {0, 1, 1, 0, 0x010E, "ImageDescription", &stdInterpreter}, + {0, 1, 0, 0, 0x010F, "Make", &stdInterpreter}, + {0, 1, 0, 0, 0x0110, "Model", &stdInterpreter}, + {1, 0, 0, 0, 0x0111, "StripOffsets", &stdInterpreter}, + {0, 2, 0, 0, 0x0112, "Orientation", &orientationInterpreter}, + {0, 2, 0, 0, 0x0115, "SamplesPerPixel", &stdInterpreter}, + {1, 0, 0, 0, 0x0116, "RowsPerStrip", &stdInterpreter}, + {1, 0, 0, 0, 0x0117, "StripByteCounts", &stdInterpreter}, + {0, 2, 0, 0, 0x011A, "XResolution", &stdInterpreter}, + {0, 2, 0, 0, 0x011B, "YResolution", &stdInterpreter}, + {0, 2, 0, 0, 0x011C, "PlanarConfiguration", &planarConfigInterpreter}, + {0, 2, 0, 0, 0x0128, "ResolutionUnit", &unitsInterpreter}, + {0, 2, 0, 0, 0x012D, "TransferFunction", &stdInterpreter}, + {0, 2, 0, 0, 0x0131, "Software", &stdInterpreter}, + {0, 1, 0, 0, 0x0132, "DateTime", &stdInterpreter}, + {0, 1, 1, 0, 0x013B, "Artist", &stdInterpreter}, + {0, 2, 0, 0, 0x013E, "WhitePoint", &stdInterpreter}, + {0, 2, 0, 0, 0x013F, "PriomaryChromaticities", &stdInterpreter}, + {0, 1, 0, ifdAttribs, 0x014A, "SubIFD", &stdInterpreter}, + {0, 2, 0, 0, 0x0201, "JPEGInterchangeFormat", &stdInterpreter}, + {0, 2, 0, 0, 0x0202, "JPEGInterchangeFormatLength", &stdInterpreter}, + {0, 2, 0, 0, 0x0211, "YCbCrCoefficients", &stdInterpreter}, + {0, 2, 0, 0, 0x0212, "YCbCrSubSampling", &stdInterpreter}, + {0, 2, 0, 0, 0x0213, "YCbCrPositioning", &stdInterpreter}, + {0, 2, 0, 0, 0x0214, "ReferenceBlackWhite", &stdInterpreter}, + {0, 1, 0, 0, 0x4746, "Rating",&stdInterpreter}, + {0, 1, 0, 0, 0x4749, "RatingPercent",&stdInterpreter}, + {0, 1, 0, 0, 0x828d, "CFAPatternDim", &stdInterpreter}, + {0, 1, 0, 0, 0x828e, "CFAPattern", &cfaInterpreter}, + {0, 1, 1, 0, 0x8298, "Copyright", &stdInterpreter}, + {0, 1, 0, exifAttribs, 0x8769, "Exif", &stdInterpreter}, + {0, 2, 0, 0, 0x8773, "ICCProfile", &stdInterpreter}, + {0, 2, 0, 0, 0x83BB, "IPTCData", &stdInterpreter}, + {0, 1, 0, gpsAttribs, 0x8825, "GPSInfo", &stdInterpreter}, + {0, 1, 0, 0, 0x9003, "DateTimeOriginal", &stdInterpreter}, + {0, 1, 0, 0, 0x9004, "DateTimeDigitized", &stdInterpreter}, + {0, 1, 0, iopAttribs, 0xA005, "Interoperability", &stdInterpreter}, + {0, 0, 0, 0, 0xC4A5, "PrintIMInformation", &stdInterpreter}, + {0, 2, 0, 0, 0x00fe, "NewSubFileType", &stdInterpreter}, + {-1, 0, 0, 0, 0, "", NULL}}; }; diff --git a/rtgui/batchqueueentry.cc b/rtgui/batchqueueentry.cc index 55cd2b872..2c0f97a9e 100644 --- a/rtgui/batchqueueentry.cc +++ b/rtgui/batchqueueentry.cc @@ -20,9 +20,9 @@ #include BatchQueueEntry::BatchQueueEntry (rtengine::ProcessingJob* pjob, const rtengine::procparams::ProcParams& pparams, Glib::ustring fname, guint8* previmg, int prevw, int prevh, Thumbnail* thumbnail) - : job(pjob), ThumbBrowserEntryBase(fname), - opreview(previmg), origpw(prevw), origph(prevh), progress(0), thumbnail(thumbnail), - outFileName("") { + : ThumbBrowserEntryBase(fname), + opreview(previmg), origpw(prevw), origph(prevh), thumbnail(thumbnail), + job(pjob), progress(0), outFileName("") { params = pparams; diff --git a/rtgui/crophandler.cc b/rtgui/crophandler.cc index cec7ada5f..b30474cec 100644 --- a/rtgui/crophandler.cc +++ b/rtgui/crophandler.cc @@ -22,11 +22,10 @@ using namespace rtengine; CropHandler::CropHandler () - : crop(NULL), listener(NULL), cropimg(NULL), ipc(NULL), - cx(0), cy(0), cw(0), ch(0), - cropX(0), cropY(0), cropW(0), cropH(0), - zoom(1000), enabled(false) { - + : zoom(1000), cx(0), cy(0), cw(0), ch(0), + cropX(0), cropY(0), cropW(0), cropH(0), enabled(false), + cropimg(NULL), ipc(NULL), crop(NULL), listener(NULL) { + chi = new CropHandlerIdleHelper; chi->destroyed = false; chi->pending = 0; diff --git a/rtgui/cropwindow.cc b/rtgui/cropwindow.cc index d862c0fb4..0511a382d 100644 --- a/rtgui/cropwindow.cc +++ b/rtgui/cropwindow.cc @@ -50,11 +50,11 @@ ZoomStep zoomSteps[] = {"10%", 0.1, 10, #define ZOOM11INDEX 7 CropWindow::CropWindow (ImageArea* parent, rtengine::StagedImageProcessor* ipc_) - : iarea(parent), cropgl(NULL), xpos(30), ypos(30), imgX(0), imgY(0), imgW(1), imgH(1), - titleHeight(30), sideBorderWidth(3), upperBorderWidth(1), lowerBorderWidth(3), sepWidth(2), - cropZoom(ZOOM11INDEX), deleted(false), onResizeArea(false), fitZoom(false), - fitZoomEnabled(true), decorated(true), backColor(0), observedCropWin(NULL), - pmlistener(NULL) { + : onResizeArea(false), deleted(false), fitZoomEnabled(true), fitZoom(false), + backColor(0), decorated(true), titleHeight(30), + sideBorderWidth(3), lowerBorderWidth(3), upperBorderWidth(1), sepWidth(2), + imgX(0), imgY(0), imgW(1), imgH(1), xpos(30), ypos(30), iarea(parent), + cropZoom(ZOOM11INDEX), cropgl(NULL), pmlistener(NULL), observedCropWin(NULL) { Glib::RefPtr context = parent->get_pango_context () ; Pango::FontDescription fontd = context->get_font_description (); diff --git a/rtgui/curveeditor.cc b/rtgui/curveeditor.cc index c42740678..395e965b3 100644 --- a/rtgui/curveeditor.cc +++ b/rtgui/curveeditor.cc @@ -24,7 +24,7 @@ extern Glib::ustring argv0; -CurveEditor::CurveEditor () : cl(NULL), activeParamControl(-1), realized(false), curveTypeIx(Linear) { +CurveEditor::CurveEditor () : cl(NULL), realized(false), curveTypeIx(Linear), activeParamControl(-1) { Gtk::HBox* tsbox = Gtk::manage (new Gtk::HBox ()); Gtk::Label* tslab = Gtk::manage (new Gtk::Label (M("CURVEEDITOR_TYPE"))); @@ -247,7 +247,7 @@ void CurveEditor::savePressed () { else if (p[ix]==(double)(NURBS)) f << "NURBS\n"; ix++; - for (int i=0; i CurveEditor::getCurve () { else if (curveTypeIx==Spline) return customCurve->getPoints (); // NURBS (control cage) - else if (curveTypeIx==NURBS) + else // Default solution, we return the NURBS curve (curveTypeIx==NURBS) return NURBSCurve->getPoints (); } diff --git a/rtgui/editorpanel.cc b/rtgui/editorpanel.cc index c58f43a2d..a60e7a22f 100644 --- a/rtgui/editorpanel.cc +++ b/rtgui/editorpanel.cc @@ -26,7 +26,7 @@ using namespace rtengine::procparams; -EditorPanel::EditorPanel () : parent(NULL), beforeIarea(NULL), beforePreviewHandler(NULL), beforeIpc(NULL) { +EditorPanel::EditorPanel () : beforePreviewHandler(NULL), beforeIarea(NULL), parent(NULL), beforeIpc(NULL) { epih = new EditorPanelIdleHelper; epih->epanel = this; diff --git a/rtgui/filebrowserentry.cc b/rtgui/filebrowserentry.cc index e5f69c7c8..ef813410e 100644 --- a/rtgui/filebrowserentry.cc +++ b/rtgui/filebrowserentry.cc @@ -31,7 +31,7 @@ Glib::RefPtr FileBrowserEntry::recentlySavedIcon; Glib::RefPtr FileBrowserEntry::enqueuedIcon; FileBrowserEntry::FileBrowserEntry (Thumbnail* thm, const Glib::ustring& fname) - : ThumbBrowserEntryBase (fname), thumbnail(thm), iatlistener(NULL), state(SNormal), cropgl(NULL) { + : ThumbBrowserEntryBase (fname), iatlistener(NULL), cropgl(NULL), state(SNormal), thumbnail(thm) { feih = new FileBrowserEntryIdleHelper; feih->fbentry = this; diff --git a/rtgui/filecatalog.cc b/rtgui/filecatalog.cc index c378c4016..9cd012d48 100644 --- a/rtgui/filecatalog.cc +++ b/rtgui/filecatalog.cc @@ -44,7 +44,7 @@ int _directoryUpdater (void* cat) { } #endif -FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb) : listener(NULL), fslistener(NULL), hasValidCurrentEFS(false), coarsePanel(cp), filterPanel(NULL), toolBar(tb) { +FileCatalog::FileCatalog (CoarsePanel* cp, ToolBar* tb) : listener(NULL), fslistener(NULL), hasValidCurrentEFS(false), filterPanel(NULL), coarsePanel(cp), toolBar(tb) { previewLoader.setPreviewLoaderListener (this); diff --git a/rtgui/histogrampanel.cc b/rtgui/histogrampanel.cc index 9c7c60408..1adaec9e7 100644 --- a/rtgui/histogrampanel.cc +++ b/rtgui/histogrampanel.cc @@ -75,7 +75,7 @@ void HistogramPanel::rgbv_toggled () { } HistogramArea::HistogramArea () : - needVal(true), needRed(true), needGreen(true), needBlue(true), oldwidth(-1), valid(false), showFull(true) { + valid(false), showFull(true), oldwidth(-1), needVal(true), needRed(true), needGreen(true), needBlue(true) { haih = new HistogramAreaIdleHelper; haih->harea = this; diff --git a/rtgui/history.cc b/rtgui/history.cc index 1ae72c5b7..7aca1ba1f 100644 --- a/rtgui/history.cc +++ b/rtgui/history.cc @@ -25,7 +25,7 @@ using namespace rtengine::procparams; Glib::ustring eventDescrArray[NUMOFEVENTS]; extern Glib::ustring argv0; -History::History (bool bookmarkSupport) : tpc (NULL), bmnum (1), blistener(NULL) { +History::History (bool bookmarkSupport) : blistener(NULL), tpc (NULL), bmnum (1) { // fill history event message array for (int i=0; i LWButton::LWButton (Cairo::RefPtr i, int aCode, void* aData, Alignment ha, Alignment va, Glib::ustring tooltip) - : icon(i), actionCode(aCode), actionData(aData), halign(ha), valign(va), state(Normal), toolTip(tooltip), listener(NULL) { + : halign(ha), valign(va), icon(i), state(Normal), listener(NULL), actionCode(aCode), actionData(aData), toolTip(tooltip) { if (i) { w = i->get_width () + 2; diff --git a/rtgui/mycurve.cc b/rtgui/mycurve.cc index 5c4e4e662..09c7f6469 100644 --- a/rtgui/mycurve.cc +++ b/rtgui/mycurve.cc @@ -54,6 +54,8 @@ MyCurve::~MyCurve () { mcih->destroyed = true; else delete mcih; + curve.x.empty(); + curve.y.empty(); } std::vector MyCurve::get_vector (int veclen) { @@ -134,7 +136,7 @@ void MyCurve::draw (int handle) { return; // re-calculate curve if dimensions changed - if (prevInnerHeight != innerHeight || point.size() != innerWidth) + if (prevInnerHeight != innerHeight || (int)point.size() != innerWidth) interpolate (); Gtk::StateType state = Gtk::STATE_NORMAL; @@ -204,10 +206,10 @@ void MyCurve::draw (int handle) { if (curve.type==Parametric && activeParam>0 && lpoint.size()>1 && upoint.size()>1) { cr->set_source_rgba (0.0, 0.0, 0.0, 0.15); cr->move_to (upoint[0].get_x(), upoint[0].get_y()); - for (int i=1; iline_to (upoint[i].get_x(), upoint[i].get_y()); cr->line_to (lpoint[lpoint.size()-1].get_x(), lpoint[lpoint.size()-1].get_y()); - for (int i=lpoint.size()-2; i>=0; i--) + for (int i=(int)lpoint.size()-2; i>=0; i--) cr->line_to (lpoint[i].get_x(), lpoint[i].get_y()); cr->line_to (upoint[0].get_x(), upoint[0].get_y()); cr->fill (); @@ -220,7 +222,7 @@ void MyCurve::draw (int handle) { cr->set_dash (ch_ds, 0); cr->set_source_rgb (0.0, 0.0, 0.0); std::vector points = getPoints(); - for (int i = 1; i < points.size(); ) { + for (int i = 1; i < (int)points.size(); ) { double x = ((innerWidth-1) * points[i++] + 0.5)+RADIUS; // project (curve.x[i], 0, 1, innerWidth); double y = innerHeight - ((innerHeight-1) * points[i++] + 0.5)+RADIUS; // project (curve.y[i], 0, 1, innerHeight); if (i==3) @@ -235,13 +237,13 @@ void MyCurve::draw (int handle) { // draw curve cr->set_source_rgb (0.0, 0.0, 0.0); cr->move_to (point[0].get_x(), point[0].get_y()); - for (int i=1; iline_to (point[i].get_x(), point[i].get_y()); cr->stroke (); // draw bullets if (curve.type!=Parametric) - for (int i = 0; i < curve.x.size(); ++i) { + for (int i = 0; i < (int)curve.x.size(); ++i) { cr->set_source_rgb ((i == handle ? 1.0 : 0.0), 0.0, 0.0); double x = ((innerWidth-1) * curve.x[i] + 0.5)+RADIUS; // project (curve.x[i], 0, 1, innerWidth); double y = innerHeight - ((innerHeight-1) * curve.y[i] + 0.5)+RADIUS; // project (curve.y[i], 0, 1, innerHeight); @@ -257,16 +259,10 @@ bool MyCurve::handleEvents (GdkEvent* event) { CursorShape new_type = cursor_type; int src, dst; - unsigned int x, y; - GdkEventMotion *mevent; std::vector::iterator itx, ity; - double moveX, moveY; // translation vector of the point - - //Glib::RefPtr rt_display = Gtk::Widget::get_display(); - //Glib::RefPtr rt_screen = Gtk::Widget::get_screen(); bool retval = false; - int num = curve.x.size(); + int num = (int)curve.x.size(); /* innerWidth and innerHeight are the size of the graph */ innerWidth = get_allocation().get_width() - RADIUS * 2; @@ -358,7 +354,7 @@ bool MyCurve::handleEvents (GdkEvent* event) { if (dst < src) { curve.x.erase (itx, curve.x.end()); curve.y.erase (ity, curve.y.end()); - if (curve.x.size() <= 0) { + if (!curve.x.size()) { curve.x.push_back (0); curve.y.push_back (0); interpolate (); @@ -545,7 +541,7 @@ void MyCurve::findClosestPoint() { closest_point = -1; if (curve.type!=Parametric) { - for (int i = 0; i < curve.x.size(); i++) { + for (int i = 0; i < (int)curve.x.size(); i++) { double dX = curve.x[i] - clampedX; double dY = curve.y[i] - clampedY; double currDistX = dX < 0. ? -dX : dX; //abs (dX); @@ -569,7 +565,7 @@ std::vector MyCurve::getPoints () { std::vector result; if (curve.type==Parametric) { result.push_back ((double)(Parametric)); - for (int i=0; i MyCurve::getPoints () { else if (curve.type==NURBS) result.push_back ((double)(NURBS)); // then we push all the points coordinate - for (int i=0; i=0) { result.push_back (curve.x[i]); result.push_back (curve.y[i]); @@ -598,13 +594,13 @@ void MyCurve::setPoints (const std::vector& p) { if (t==Parametric) { curve.x.clear (); curve.y.clear (); - for (int i=1; i #include -PreviewWindow::PreviewWindow () : previewHandler(NULL), mainCropWin(NULL), isMoving(false),cCropMoving(NULL),cNormal(NULL) { +PreviewWindow::PreviewWindow () : previewHandler(NULL), mainCropWin(NULL),cCropMoving(NULL),cNormal(NULL), isMoving(false) { rconn = signal_size_allocate().connect( sigc::mem_fun(*this, &PreviewWindow::on_resized) ); } diff --git a/rtgui/renamedlg.cc b/rtgui/renamedlg.cc index d17ce145b..75b72c3f0 100644 --- a/rtgui/renamedlg.cc +++ b/rtgui/renamedlg.cc @@ -21,7 +21,7 @@ #include RenameDialog::RenameDialog (Gtk::Window* parent) - : Gtk::Dialog (M("FILEBROWSER_RENAMEDLGLABEL"), *parent, true, true), imageData(NULL), p(parent) { + : Gtk::Dialog (M("FILEBROWSER_RENAMEDLGLABEL"), *parent, true, true), p(parent), imageData(NULL) { Gtk::Table* names = Gtk::manage (new Gtk::Table (2, 2)); Gtk::Label* onlab = Gtk::manage (new Gtk::Label (M("FILEBROWSER_CURRENT_NAME"))); diff --git a/rtgui/thumbbrowserbase.cc b/rtgui/thumbbrowserbase.cc index faf54ac29..4038c346e 100644 --- a/rtgui/thumbbrowserbase.cc +++ b/rtgui/thumbbrowserbase.cc @@ -23,7 +23,7 @@ #include ThumbBrowserBase::ThumbBrowserBase () - : previewHeight(options.thumbSize), lastClicked(NULL) { + : lastClicked(NULL), previewHeight(options.thumbSize) { inW = -1; inH = -1; @@ -259,7 +259,7 @@ void ThumbBrowserBase::styleChanged (const Glib::RefPtr& style) { refreshThumbImages (); } -ThumbBrowserBase::Internal::Internal () : parent(NULL), ofsX(0), ofsY(0), dirty(true) { +ThumbBrowserBase::Internal::Internal () : ofsX(0), ofsY(0), parent(NULL), dirty(true) { } void ThumbBrowserBase::Internal::setParent (ThumbBrowserBase* p) { diff --git a/rtgui/thumbbrowserentrybase.cc b/rtgui/thumbbrowserentrybase.cc index 909008da9..8e9039d31 100644 --- a/rtgui/thumbbrowserentrybase.cc +++ b/rtgui/thumbbrowserentrybase.cc @@ -22,10 +22,10 @@ #include ThumbBrowserEntryBase::ThumbBrowserEntryBase (const Glib::ustring& fname) - : filename(fname), selected(false), drawable(false),framed(false), processing(false), - italicstyle(false), preview(NULL), exifline(""), datetimeline(""), - buttonSet(NULL), updatepriority(false), redrawRequests(0), - parent(NULL), exp_width(0), exp_height(0) { + : preview(NULL), buttonSet(NULL), exp_width(0), exp_height(0), redrawRequests(0), + parent(NULL), filename(fname), exifline(""), datetimeline(""), selected(false), + drawable(false),framed(false), processing(false), italicstyle(false), + updatepriority(false) { shortname = Glib::path_get_basename (fname); dispname = shortname; diff --git a/rtgui/thumbnail.cc b/rtgui/thumbnail.cc index 93a8d76f5..3f9cd2e72 100644 --- a/rtgui/thumbnail.cc +++ b/rtgui/thumbnail.cc @@ -33,8 +33,8 @@ using namespace rtengine::procparams; Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, CacheImageData* cf) - : cachemgr(cm), cfs(*cf), pparamsValid(false), fname(fname), - lastImg(NULL), ref(1), enqueueNumber(0), tpp(NULL), needsReProcessing(true) { + : fname(fname), cfs(*cf), cachemgr(cm), ref(1), enqueueNumber(0), tpp(NULL), + pparamsValid(false), needsReProcessing(true), lastImg(NULL) { mutex = new Glib::Mutex (); cfs.load (getCacheFileName ("data")+".txt"); @@ -44,8 +44,8 @@ Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, CacheImageDa } Thumbnail::Thumbnail (CacheManager* cm, const Glib::ustring& fname, const std::string& md5) - : cachemgr(cm), pparamsValid(false), lastImg(NULL), fname(fname), - ref(1), enqueueNumber(0), tpp(NULL), needsReProcessing(true) { + : fname(fname), cachemgr(cm), ref(1), enqueueNumber(0), tpp(NULL), pparamsValid(false), + needsReProcessing(true), lastImg(NULL) { mutex = new Glib::Mutex (); diff --git a/rtgui/tonecurve.cc b/rtgui/tonecurve.cc index d151bdc8d..e25633667 100644 --- a/rtgui/tonecurve.cc +++ b/rtgui/tonecurve.cc @@ -341,7 +341,7 @@ void ToneCurve::setBatchMode (bool batchMode) { void ToneCurve::setAdjusterBehavior (bool expadd, bool bradd, bool blackadd, bool contradd) { - if (!expAdd && expadd || expAdd && !expadd) + if ((!expAdd && expadd) || (expAdd && !expadd)) expcomp->setLimits (-5, 5, 0.01, 0); if (!blackAdd && blackadd) black->setLimits (0, 16384, 1, 0);