summaryrefslogtreecommitdiff
path: root/gpr/source/lib/dng_sdk/dng_parse_utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpr/source/lib/dng_sdk/dng_parse_utils.h')
-rw-r--r--gpr/source/lib/dng_sdk/dng_parse_utils.h232
1 files changed, 232 insertions, 0 deletions
diff --git a/gpr/source/lib/dng_sdk/dng_parse_utils.h b/gpr/source/lib/dng_sdk/dng_parse_utils.h
new file mode 100644
index 0000000..89a082f
--- /dev/null
+++ b/gpr/source/lib/dng_sdk/dng_parse_utils.h
@@ -0,0 +1,232 @@
+/*****************************************************************************/
+// Copyright 2006-2007 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_parse_utils.h#1 $ */
+/* $DateTime: 2012/05/30 13:28:51 $ */
+/* $Change: 832332 $ */
+/* $Author: tknoll $ */
+
+/*****************************************************************************/
+
+#ifndef __dng_parse_utils__
+#define __dng_parse_utils__
+
+/*****************************************************************************/
+
+#include "dng_classes.h"
+#include "dng_flags.h"
+#include "dng_types.h"
+#include "dng_stream.h"
+#include "dng_string.h"
+#include "dng_matrix.h"
+
+/*****************************************************************************/
+
+#if qDNGValidate
+
+/*****************************************************************************/
+
+const char * LookupParentCode (uint32 parentCode);
+
+/*****************************************************************************/
+
+const char * LookupTagCode (uint32 parentCode,
+ uint32 tagCode);
+
+/*****************************************************************************/
+
+const char * LookupTagType (uint32 tagType);
+
+/*****************************************************************************/
+
+const char * LookupNewSubFileType (uint32 key);
+
+const char * LookupCompression (uint32 key);
+
+const char * LookupPredictor (uint32 key);
+
+const char * LookupSampleFormat (uint32 key);
+
+const char * LookupPhotometricInterpretation (uint32 key);
+
+const char * LookupOrientation (uint32 key);
+
+const char * LookupResolutionUnit (uint32 key);
+
+const char * LookupCFAColor (uint32 key);
+
+const char * LookupSensingMethod (uint32 key);
+
+const char * LookupExposureProgram (uint32 key);
+
+const char * LookupMeteringMode (uint32 key);
+
+const char * LookupLightSource (uint32 key);
+
+const char * LookupColorSpace (uint32 key);
+
+const char * LookupFileSource (uint32 key);
+
+const char * LookupSceneType (uint32 key);
+
+const char * LookupCustomRendered (uint32 key);
+
+const char * LookupExposureMode (uint32 key);
+
+const char * LookupWhiteBalance (uint32 key);
+
+const char * LookupSceneCaptureType (uint32 key);
+
+const char * LookupGainControl (uint32 key);
+
+const char * LookupContrast (uint32 key);
+
+const char * LookupSaturation (uint32 key);
+
+const char * LookupSharpness (uint32 key);
+
+const char * LookupSubjectDistanceRange (uint32 key);
+
+const char * LookupComponent (uint32 key);
+
+const char * LookupCFALayout (uint32 key);
+
+const char * LookupMakerNoteSafety (uint32 key);
+
+const char * LookupColorimetricReference (uint32 key);
+
+const char * LookupPreviewColorSpace (uint32 key);
+
+const char * LookupJPEGMarker (uint32 key);
+
+const char * LookupSensitivityType (uint32 key);
+
+/*****************************************************************************/
+
+void DumpHexAscii (dng_stream &stream,
+ uint32 count);
+
+void DumpHexAscii (const uint8 *buf,
+ uint32 count);
+
+void DumpXMP (dng_stream &stream,
+ uint32 count);
+
+void DumpString (const dng_string &s);
+
+void DumpTagValues (dng_stream &stream,
+ const char *entry_name,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ const char *tag_name = NULL);
+
+void DumpMatrix (const dng_matrix &m);
+
+void DumpVector (const dng_vector &v);
+
+void DumpDateTime (const dng_date_time &dt);
+
+void DumpExposureTime (real64 x);
+
+void DumpFingerprint (const dng_fingerprint &p);
+
+void DumpHueSatMap (dng_stream &stream,
+ uint32 hues,
+ uint32 sats,
+ uint32 vals,
+ bool skipSat0);
+
+/*****************************************************************************/
+
+#endif
+
+/*****************************************************************************/
+
+bool CheckTagType (uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint16 validType0,
+ uint16 validType1 = 0,
+ uint16 validType2 = 0,
+ uint16 validType3 = 0);
+
+bool CheckTagCount (uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagCount,
+ uint32 minCount,
+ uint32 maxCount = 0);
+
+bool CheckColorImage (uint32 parentCode,
+ uint32 tagCode,
+ uint32 colorPlanes);
+
+bool CheckMainIFD (uint32 parentCode,
+ uint32 tagCode,
+ uint32 newSubFileType);
+
+bool CheckRawIFD (uint32 parentCode,
+ uint32 tagCode,
+ uint32 photometricInterpretation);
+
+bool CheckCFA (uint32 parentCode,
+ uint32 tagCode,
+ uint32 photometricInterpretation);
+
+/*****************************************************************************/
+
+void ParseStringTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagCount,
+ dng_string &s,
+ bool trimBlanks = true);
+
+void ParseDualStringTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagCount,
+ dng_string &s1,
+ dng_string &s2);
+
+void ParseEncodedStringTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagCount,
+ dng_string &s);
+
+bool ParseMatrixTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint32 rows,
+ uint32 cols,
+ dng_matrix &m);
+
+bool ParseVectorTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ uint32 count,
+ dng_vector &v);
+
+bool ParseDateTimeTag (dng_stream &stream,
+ uint32 parentCode,
+ uint32 tagCode,
+ uint32 tagType,
+ uint32 tagCount,
+ dng_date_time &dt);
+
+/*****************************************************************************/
+
+#endif
+
+/*****************************************************************************/