You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
5.9 KiB
233 lines
5.9 KiB
/*****************************************************************************/
|
|
// 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
|
|
|
|
/*****************************************************************************/
|