| /*****************************************************************************/ |
| // 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_tag_values.h#1 $ */ |
| /* $DateTime: 2012/05/30 13:28:51 $ */ |
| /* $Change: 832332 $ */ |
| /* $Author: tknoll $ */ |
| |
| /*****************************************************************************/ |
| |
| #ifndef __dng_tag_values__ |
| #define __dng_tag_values__ |
| |
| /*****************************************************************************/ |
| |
| #include "dng_flags.h" |
| |
| /*****************************************************************************/ |
| |
| // Values for NewSubFileType tag. |
| |
| enum |
| { |
| |
| // The main image data. |
| |
| sfMainImage = 0, |
| |
| // Preview image for the primary settings. |
| |
| sfPreviewImage = 1, |
| |
| // Transparency mask |
| |
| sfTransparencyMask = 4, |
| |
| // Preview Transparency mask |
| |
| sfPreviewMask = sfPreviewImage + sfTransparencyMask, |
| |
| // Preview image for non-primary settings. |
| |
| sfAltPreviewImage = 0x10001 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for PhotometricInterpretation tag. |
| |
| enum |
| { |
| |
| piWhiteIsZero = 0, |
| piBlackIsZero = 1, |
| piRGB = 2, |
| piRGBPalette = 3, |
| piTransparencyMask = 4, |
| piCMYK = 5, |
| piYCbCr = 6, |
| piCIELab = 8, |
| piICCLab = 9, |
| |
| piCFA = 32803, // TIFF-EP spec |
| |
| piLinearRaw = 34892 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for PlanarConfiguration tag. |
| |
| enum |
| { |
| |
| pcInterleaved = 1, |
| pcPlanar = 2, |
| |
| // Ordering, using an RGB image as an example: |
| // |
| // RRRRRRRRRR |
| // GGGGGGGGGG |
| // BBBBBBBBBB |
| // RRRRRRRRRR |
| // GGGGGGGGGG |
| // BBBBBBBBBB |
| // |
| // The "Align16" variant additionally ensures that the offset of each |
| // plane's row is aligned to an integer multiple of 16 bytes from the |
| // beginning of the buffer. |
| pcRowInterleaved = 100000, // Internal use only |
| pcRowInterleavedAlign16 = 100001 // Internal use only |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for ExtraSamples tag. |
| |
| enum |
| { |
| |
| esUnspecified = 0, |
| esAssociatedAlpha = 1, |
| esUnassociatedAlpha = 2 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for SampleFormat tag. |
| |
| enum |
| { |
| |
| sfUnsignedInteger = 1, |
| sfSignedInteger = 2, |
| sfFloatingPoint = 3, |
| sfUndefined = 4 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for Compression tag. |
| |
| enum |
| { |
| |
| ccUncompressed = 1, |
| ccLZW = 5, |
| ccOldJPEG = 6, |
| ccJPEG = 7, |
| ccDeflate = 8, |
| ccPackBits = 32773, |
| ccOldDeflate = 32946, |
| |
| // Used in DNG files in places that allow lossless JPEG. |
| |
| ccLossyJPEG = 34892 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for Predictor tag. |
| |
| enum |
| { |
| |
| cpNullPredictor = 1, |
| cpHorizontalDifference = 2, |
| cpFloatingPoint = 3, |
| |
| cpHorizontalDifferenceX2 = 34892, |
| cpHorizontalDifferenceX4 = 34893, |
| cpFloatingPointX2 = 34894, |
| cpFloatingPointX4 = 34895 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for ResolutionUnit tag. |
| |
| enum |
| { |
| |
| ruNone = 1, |
| ruInch = 2, |
| ruCM = 3, |
| ruMM = 4, |
| ruMicroM = 5 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for LightSource tag. |
| |
| enum |
| { |
| |
| lsUnknown = 0, |
| |
| lsDaylight = 1, |
| lsFluorescent = 2, |
| lsTungsten = 3, |
| lsFlash = 4, |
| lsFineWeather = 9, |
| lsCloudyWeather = 10, |
| lsShade = 11, |
| lsDaylightFluorescent = 12, // D 5700 - 7100K |
| lsDayWhiteFluorescent = 13, // N 4600 - 5500K |
| lsCoolWhiteFluorescent = 14, // W 3800 - 4500K |
| lsWhiteFluorescent = 15, // WW 3250 - 3800K |
| lsWarmWhiteFluorescent = 16, // L 2600 - 3250K |
| lsStandardLightA = 17, |
| lsStandardLightB = 18, |
| lsStandardLightC = 19, |
| lsD55 = 20, |
| lsD65 = 21, |
| lsD75 = 22, |
| lsD50 = 23, |
| lsISOStudioTungsten = 24, |
| |
| lsOther = 255 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for ExposureProgram tag. |
| |
| enum |
| { |
| |
| epUnidentified = 0, |
| epManual = 1, |
| epProgramNormal = 2, |
| epAperturePriority = 3, |
| epShutterPriority = 4, |
| epProgramCreative = 5, |
| epProgramAction = 6, |
| epPortraitMode = 7, |
| epLandscapeMode = 8 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // Values for MeteringMode tag. |
| |
| enum |
| { |
| |
| mmUnidentified = 0, |
| mmAverage = 1, |
| mmCenterWeightedAverage = 2, |
| mmSpot = 3, |
| mmMultiSpot = 4, |
| mmPattern = 5, |
| mmPartial = 6, |
| |
| mmOther = 255 |
| |
| }; |
| |
| /******************************************************************************/ |
| |
| // CFA color codes from the TIFF/EP specification. |
| |
| enum ColorKeyCode |
| { |
| |
| colorKeyRed = 0, |
| colorKeyGreen = 1, |
| colorKeyBlue = 2, |
| colorKeyCyan = 3, |
| colorKeyMagenta = 4, |
| colorKeyYellow = 5, |
| colorKeyWhite = 6, |
| |
| colorKeyMaxEnum = 0xFF |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the SensitivityType tag. |
| |
| enum |
| { |
| |
| stUnknown = 0, |
| |
| stStandardOutputSensitivity = 1, |
| stRecommendedExposureIndex = 2, |
| stISOSpeed = 3, |
| stSOSandREI = 4, |
| stSOSandISOSpeed = 5, |
| stREIandISOSpeed = 6, |
| stSOSandREIandISOSpeed = 7 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the ColorimetricReference tag. It specifies the colorimetric |
| // reference used for images with PhotometricInterpretation values of CFA |
| // or LinearRaw. |
| |
| enum |
| { |
| |
| // Scene referred (default): |
| |
| crSceneReferred = 0, |
| |
| // Output referred using the parameters of the ICC profile PCS. |
| |
| crICCProfilePCS = 1 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the ProfileEmbedPolicy tag. |
| |
| enum |
| { |
| |
| // Freely embedable and copyable into installations that encounter this |
| // profile, so long as the profile is only used to process DNG files. |
| |
| pepAllowCopying = 0, |
| |
| // Can be embeded in a DNG for portable processing, but cannot be used |
| // to process other files that the profile is not embedded in. |
| |
| pepEmbedIfUsed = 1, |
| |
| // Can only be used if installed on the machine processing the file. |
| // Note that this only applies to stand-alone profiles. Profiles that |
| // are already embedded inside a DNG file allowed to remain embedded |
| // in that DNG, even if the DNG is resaved. |
| |
| pepEmbedNever = 2, |
| |
| // No restricts on profile use or embedding. |
| |
| pepNoRestrictions = 3 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the ProfileHueSatMapEncoding and ProfileLookTableEncoding tags. |
| |
| enum |
| { |
| |
| // 1. Convert linear ProPhoto RGB values to HSV. |
| // 2. Use the HSV coordinates to index into the color table. |
| // 3. Apply color table result to the original HSV values. |
| // 4. Convert modified HSV values back to linear ProPhoto RGB. |
| |
| encoding_Linear = 0, |
| |
| // 1. Convert linear ProPhoto RGB values to HSV. |
| // 2. Encode V coordinate using sRGB encoding curve. |
| // 3. Use the encoded HSV coordinates to index into the color table. |
| // 4. Apply color table result to the encoded values from step 2. |
| // 5. Decode V coordinate using sRGB decoding curve (inverse of step 2). |
| // 6. Convert HSV values back to linear ProPhoto RGB (inverse of step 1). |
| |
| encoding_sRGB = 1 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the DefaultBlackRender tag. |
| |
| enum |
| { |
| |
| // By default, the renderer applies (possibly auto-calculated) black subtraction |
| // prior to the look table. |
| |
| defaultBlackRender_Auto = 0, |
| |
| // By default, the renderer does not apply any black subtraction prior to the |
| // look table. |
| |
| defaultBlackRender_None = 1 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for the PreviewColorSpace tag. |
| |
| enum PreviewColorSpaceEnum |
| { |
| |
| previewColorSpace_Unknown = 0, |
| previewColorSpace_GrayGamma22 = 1, |
| previewColorSpace_sRGB = 2, |
| previewColorSpace_AdobeRGB = 3, |
| previewColorSpace_ProPhotoRGB = 4, |
| |
| previewColorSpace_LastValid = previewColorSpace_ProPhotoRGB, |
| |
| previewColorSpace_MaxEnum = 0xFFFFFFFF |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // Values for CacheVersion tag. |
| |
| enum |
| { |
| |
| // The low-16 bits are a rendering version number. |
| |
| cacheVersionMask = 0x0FFFF, |
| |
| // Default cache version. |
| |
| cacheVersionDefault = 0x00100, |
| |
| // Is this an integer preview of a floating point image? |
| |
| cacheVersionDefloated = 0x10000, |
| |
| // Is this an flattening preview of an image with tranparency? |
| |
| cacheVersionFlattened = 0x20000, |
| |
| // Was this preview build using a the default baseline multi-channel |
| // CFA merge (i.e. only using the first channel)? |
| |
| cacheVersionFakeMerge = 0x40000 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // TIFF-style byte order markers. |
| |
| enum |
| { |
| |
| byteOrderII = 0x4949, // 'II' |
| byteOrderMM = 0x4D4D // 'MM' |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // "Magic" numbers. |
| |
| enum |
| { |
| |
| // DNG related. |
| |
| magicTIFF = 42, // TIFF (and DNG) |
| magicExtendedProfile = 0x4352, // 'CR' |
| magicRawCache = 1022, // Raw cache (fast load data) |
| |
| // Other raw formats - included here so the DNG SDK can parse them. |
| |
| magicPanasonic = 85, |
| magicOlympusA = 0x4F52, |
| magicOlympusB = 0x5352 |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| // DNG Version numbers |
| |
| enum |
| { |
| |
| dngVersion_None = 0, |
| |
| dngVersion_1_0_0_0 = 0x01000000, |
| dngVersion_1_1_0_0 = 0x01010000, |
| dngVersion_1_2_0_0 = 0x01020000, |
| dngVersion_1_3_0_0 = 0x01030000, |
| dngVersion_1_4_0_0 = 0x01040000, |
| |
| dngVersion_Current = dngVersion_1_4_0_0, |
| |
| dngVersion_SaveDefault = dngVersion_Current |
| |
| }; |
| |
| /*****************************************************************************/ |
| |
| #endif |
| |
| /*****************************************************************************/ |