summaryrefslogtreecommitdiff
path: root/gpr/source/lib/dng_sdk/dng_shared.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpr/source/lib/dng_sdk/dng_shared.h')
-rw-r--r--gpr/source/lib/dng_sdk/dng_shared.h248
1 files changed, 248 insertions, 0 deletions
diff --git a/gpr/source/lib/dng_sdk/dng_shared.h b/gpr/source/lib/dng_sdk/dng_shared.h
new file mode 100644
index 0000000..b67d7a6
--- /dev/null
+++ b/gpr/source/lib/dng_sdk/dng_shared.h
@@ -0,0 +1,248 @@
+/*****************************************************************************/
+// Copyright 2006-2008 Adobe Systems Incorporated
+// All Rights Reserved.
+//
+// NOTICE: Adobe permits you to use, modify, and distribute this file in
+// accordance with the terms of the Adobe license agreement accompanying it.
+/*****************************************************************************/
+
+/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_shared.h#1 $ */
+/* $DateTime: 2012/05/30 13:28:51 $ */
+/* $Change: 832332 $ */
+/* $Author: tknoll $ */
+
+/*****************************************************************************/
+
+#ifndef __dng_shared__
+#define __dng_shared__
+
+/*****************************************************************************/
+
+#include "dng_classes.h"
+#include "dng_fingerprint.h"
+#include "dng_matrix.h"
+#include "dng_negative.h"
+#include "dng_rational.h"
+#include "dng_string.h"
+#include "dng_stream.h"
+#include "dng_sdk_limits.h"
+#include "dng_types.h"
+#include "dng_xy_coord.h"
+
+#include <vector>
+
+/*****************************************************************************/
+
+class dng_camera_profile_info
+ {
+
+ public:
+
+ bool fBigEndian;
+
+ uint32 fColorPlanes;
+
+ uint32 fCalibrationIlluminant1;
+ uint32 fCalibrationIlluminant2;
+
+ dng_matrix fColorMatrix1;
+ dng_matrix fColorMatrix2;
+
+ dng_matrix fForwardMatrix1;
+ dng_matrix fForwardMatrix2;
+
+ dng_matrix fReductionMatrix1;
+ dng_matrix fReductionMatrix2;
+
+ dng_string fProfileCalibrationSignature;
+
+ dng_string fProfileName;
+
+ dng_string fProfileCopyright;
+
+ uint32 fEmbedPolicy;
+
+ uint32 fProfileHues;
+ uint32 fProfileSats;
+ uint32 fProfileVals;
+
+ uint64 fHueSatDeltas1Offset;
+ uint32 fHueSatDeltas1Count;
+
+ uint64 fHueSatDeltas2Offset;
+ uint32 fHueSatDeltas2Count;
+
+ uint32 fHueSatMapEncoding;
+
+ uint32 fLookTableHues;
+ uint32 fLookTableSats;
+ uint32 fLookTableVals;
+
+ uint64 fLookTableOffset;
+ uint32 fLookTableCount;
+
+ uint32 fLookTableEncoding;
+
+ dng_srational fBaselineExposureOffset;
+
+ uint32 fDefaultBlackRender;
+
+ uint64 fToneCurveOffset;
+ uint32 fToneCurveCount;
+
+ dng_string fUniqueCameraModel;
+
+ public:
+
+ dng_camera_profile_info ();
+
+ ~dng_camera_profile_info ();
+
+ bool ParseTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint64 tagOffset);
+
+ bool ParseExtended (dng_stream &stream);
+
+ };
+
+/*****************************************************************************/
+
+class dng_shared
+ {
+
+ public:
+
+ uint64 fExifIFD;
+ uint64 fGPSInfo;
+ uint64 fInteroperabilityIFD;
+ uint64 fKodakDCRPrivateIFD;
+ uint64 fKodakKDCPrivateIFD;
+
+ uint32 fXMPCount;
+ uint64 fXMPOffset;
+
+ uint32 fIPTC_NAA_Count;
+ uint64 fIPTC_NAA_Offset;
+
+ uint32 fMakerNoteCount;
+ uint64 fMakerNoteOffset;
+ uint32 fMakerNoteSafety;
+
+ uint32 fDNGVersion;
+ uint32 fDNGBackwardVersion;
+
+ dng_string fUniqueCameraModel;
+ dng_string fLocalizedCameraModel;
+
+ dng_camera_profile_info fCameraProfile;
+
+ std::vector<dng_camera_profile_info> fExtraCameraProfiles;
+
+ dng_matrix fCameraCalibration1;
+ dng_matrix fCameraCalibration2;
+
+ dng_string fCameraCalibrationSignature;
+
+ dng_vector fAnalogBalance;
+
+ dng_vector fAsShotNeutral;
+
+ dng_xy_coord fAsShotWhiteXY;
+
+ dng_srational fBaselineExposure;
+ dng_urational fBaselineNoise;
+ dng_urational fNoiseReductionApplied;
+ dng_urational fBaselineSharpness;
+ dng_urational fLinearResponseLimit;
+ dng_urational fShadowScale;
+
+ bool fHasBaselineExposure;
+ bool fHasShadowScale;
+
+ uint32 fDNGPrivateDataCount;
+ uint64 fDNGPrivateDataOffset;
+
+ dng_fingerprint fRawImageDigest;
+ dng_fingerprint fNewRawImageDigest;
+
+ dng_fingerprint fRawDataUniqueID;
+
+ dng_string fOriginalRawFileName;
+
+ uint32 fOriginalRawFileDataCount;
+ uint64 fOriginalRawFileDataOffset;
+
+ dng_fingerprint fOriginalRawFileDigest;
+
+ uint32 fAsShotICCProfileCount;
+ uint64 fAsShotICCProfileOffset;
+
+ dng_matrix fAsShotPreProfileMatrix;
+
+ uint32 fCurrentICCProfileCount;
+ uint64 fCurrentICCProfileOffset;
+
+ dng_matrix fCurrentPreProfileMatrix;
+
+ uint32 fColorimetricReference;
+
+ dng_string fAsShotProfileName;
+
+ dng_noise_profile fNoiseProfile;
+
+ dng_point fOriginalDefaultFinalSize;
+ dng_point fOriginalBestQualityFinalSize;
+
+ dng_urational fOriginalDefaultCropSizeH;
+ dng_urational fOriginalDefaultCropSizeV;
+
+ public:
+
+ dng_shared ();
+
+ virtual ~dng_shared ();
+
+ virtual bool ParseTag (dng_stream &stream,
+ dng_exif &exif,
+ uint32 parentCode,
+ bool isMainIFD,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint64 tagOffset,
+ int64 offsetDelta);
+
+ virtual void PostParse (dng_host &host,
+ dng_exif &exif);
+
+ virtual bool IsValidDNG ();
+
+ protected:
+
+ virtual bool Parse_ifd0 (dng_stream &stream,
+ dng_exif &exif,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint64 tagOffset);
+
+ virtual bool Parse_ifd0_exif (dng_stream &stream,
+ dng_exif &exif,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint64 tagOffset);
+
+ };
+
+/*****************************************************************************/
+
+#endif
+
+/*****************************************************************************/