| /*****************************************************************************/ |
| // 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 |
| |
| /*****************************************************************************/ |