18e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 28e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Copyright 2006-2007 Adobe Systems Incorporated 38e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// All Rights Reserved. 48e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// 58e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// NOTICE: Adobe permits you to use, modify, and distribute this file in 68e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// accordance with the terms of the Adobe license agreement accompanying it. 78e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 88e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 98e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Id: //mondo/dng_sdk_1_4/dng_sdk/source/dng_tag_values.h#1 $ */ 108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $DateTime: 2012/05/30 13:28:51 $ */ 118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Change: 832332 $ */ 128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/* $Author: tknoll $ */ 138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 168e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#ifndef __dng_tag_values__ 178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#define __dng_tag_values__ 188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 198e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 218e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#include "dng_flags.h" 228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for NewSubFileType tag. 268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 278e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 288e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // The main image data. 318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfMainImage = 0, 338e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Preview image for the primary settings. 358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfPreviewImage = 1, 378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Transparency mask 398e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 408e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfTransparencyMask = 4, 418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Preview Transparency mask 438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfPreviewMask = sfPreviewImage + sfTransparencyMask, 458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 468e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Preview image for non-primary settings. 478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfAltPreviewImage = 0x10001 498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 518e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 548e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for PhotometricInterpretation tag. 558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 568e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 598e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piWhiteIsZero = 0, 608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piBlackIsZero = 1, 618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piRGB = 2, 628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piRGBPalette = 3, 638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piTransparencyMask = 4, 648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piCMYK = 5, 658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piYCbCr = 6, 668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piCIELab = 8, 678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piICCLab = 9, 688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piCFA = 32803, // TIFF-EP spec 708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 718e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener piLinearRaw = 34892 728e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 778e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for PlanarConfiguration tag. 788e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 798e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 808e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 818e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 828e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pcInterleaved = 1, 838e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pcPlanar = 2, 848e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 858e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Ordering, using an RGB image as an example: 868e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 878e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // RRRRRRRRRR 888e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // GGGGGGGGGG 898e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // BBBBBBBBBB 908e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // RRRRRRRRRR 918e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // GGGGGGGGGG 928e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // BBBBBBBBBB 938e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 948e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // The "Align16" variant additionally ensures that the offset of each 958e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // plane's row is aligned to an integer multiple of 16 bytes from the 968e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // beginning of the buffer. 978e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pcRowInterleaved = 100000, // Internal use only 988e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pcRowInterleavedAlign16 = 100001 // Internal use only 998e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1008e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1018e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1028e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1038e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1048e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for ExtraSamples tag. 1058e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1068e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1078e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1088e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1098e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener esUnspecified = 0, 1108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener esAssociatedAlpha = 1, 1118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener esUnassociatedAlpha = 2 1128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1168e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for SampleFormat tag. 1188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1198e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1218e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfUnsignedInteger = 1, 1238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfSignedInteger = 2, 1248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfFloatingPoint = 3, 1258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener sfUndefined = 4 1268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1278e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1288e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for Compression tag. 1328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1338e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccUncompressed = 1, 1378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccLZW = 5, 1388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccOldJPEG = 6, 1398e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccJPEG = 7, 1408e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccDeflate = 8, 1418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccPackBits = 32773, 1428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccOldDeflate = 32946, 1438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Used in DNG files in places that allow lossless JPEG. 1458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1468e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ccLossyJPEG = 34892 1478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1518e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for Predictor tag. 1538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1548e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1568e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpNullPredictor = 1, 1588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpHorizontalDifference = 2, 1598e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpFloatingPoint = 3, 1608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpHorizontalDifferenceX2 = 34892, 1628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpHorizontalDifferenceX4 = 34893, 1638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpFloatingPointX2 = 34894, 1648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cpFloatingPointX4 = 34895 1658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for ResolutionUnit tag. 1718e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1728e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ruNone = 1, 1768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ruInch = 2, 1778e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ruCM = 3, 1788e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ruMM = 4, 1798e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener ruMicroM = 5 1808e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1818e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 1828e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1838e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 1848e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1858e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for LightSource tag. 1868e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1878e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 1888e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 1898e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1908e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsUnknown = 0, 1918e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 1928e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsDaylight = 1, 1938e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsFluorescent = 2, 1948e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsTungsten = 3, 1958e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsFlash = 4, 1968e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsFineWeather = 9, 1978e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsCloudyWeather = 10, 1988e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsShade = 11, 1998e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsDaylightFluorescent = 12, // D 5700 - 7100K 2008e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsDayWhiteFluorescent = 13, // N 4600 - 5500K 2018e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsCoolWhiteFluorescent = 14, // W 3800 - 4500K 2028e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsWhiteFluorescent = 15, // WW 3250 - 3800K 2038e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsWarmWhiteFluorescent = 16, // L 2600 - 3250K 2048e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsStandardLightA = 17, 2058e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsStandardLightB = 18, 2068e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsStandardLightC = 19, 2078e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsD55 = 20, 2088e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsD65 = 21, 2098e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsD75 = 22, 2108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsD50 = 23, 2118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsISOStudioTungsten = 24, 2128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener lsOther = 255 2148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 2168e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 2188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2198e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for ExposureProgram tag. 2208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2218e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 2228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 2238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epUnidentified = 0, 2258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epManual = 1, 2268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epProgramNormal = 2, 2278e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epAperturePriority = 3, 2288e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epShutterPriority = 4, 2298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epProgramCreative = 5, 2308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epProgramAction = 6, 2318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epPortraitMode = 7, 2328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener epLandscapeMode = 8 2338e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 2358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 2378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for MeteringMode tag. 2398e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2408e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 2418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 2428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmUnidentified = 0, 2448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmAverage = 1, 2458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmCenterWeightedAverage = 2, 2468e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmSpot = 3, 2478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmMultiSpot = 4, 2488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmPattern = 5, 2498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmPartial = 6, 2508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2518e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener mmOther = 255 2528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 2548e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/******************************************************************************/ 2568e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// CFA color codes from the TIFF/EP specification. 2588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2598e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum ColorKeyCode 2608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 2618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyRed = 0, 2638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyGreen = 1, 2648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyBlue = 2, 2658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyCyan = 3, 2668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyMagenta = 4, 2678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyYellow = 5, 2688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyWhite = 6, 2698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener colorKeyMaxEnum = 0xFF 2718e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2728e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 2738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 2758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the SensitivityType tag. 2778e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2788e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 2798e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 2808e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2818e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stUnknown = 0, 2828e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2838e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stStandardOutputSensitivity = 1, 2848e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stRecommendedExposureIndex = 2, 2858e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stISOSpeed = 3, 2868e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stSOSandREI = 4, 2878e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stSOSandISOSpeed = 5, 2888e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stREIandISOSpeed = 6, 2898e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener stSOSandREIandISOSpeed = 7 2908e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2918e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 2928e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2938e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 2948e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2958e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the ColorimetricReference tag. It specifies the colorimetric 2968e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// reference used for images with PhotometricInterpretation values of CFA 2978e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// or LinearRaw. 2988e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 2998e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 3008e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 3018e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3028e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Scene referred (default): 3038e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3048e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener crSceneReferred = 0, 3058e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3068e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Output referred using the parameters of the ICC profile PCS. 3078e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3088e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener crICCProfilePCS = 1 3098e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 3118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 3138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the ProfileEmbedPolicy tag. 3158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3168e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 3178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 3188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3198e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Freely embedable and copyable into installations that encounter this 3208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // profile, so long as the profile is only used to process DNG files. 3218e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pepAllowCopying = 0, 3238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Can be embeded in a DNG for portable processing, but cannot be used 3258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // to process other files that the profile is not embedded in. 3268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3278e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pepEmbedIfUsed = 1, 3288e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Can only be used if installed on the machine processing the file. 3308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Note that this only applies to stand-alone profiles. Profiles that 3318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // are already embedded inside a DNG file allowed to remain embedded 3328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // in that DNG, even if the DNG is resaved. 3338e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pepEmbedNever = 2, 3358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // No restricts on profile use or embedding. 3378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener pepNoRestrictions = 3 3398e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3408e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 3418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 3438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the ProfileHueSatMapEncoding and ProfileLookTableEncoding tags. 3458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3468e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 3478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 3488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 1. Convert linear ProPhoto RGB values to HSV. 3508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 2. Use the HSV coordinates to index into the color table. 3518e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 3. Apply color table result to the original HSV values. 3528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 4. Convert modified HSV values back to linear ProPhoto RGB. 3538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3548e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener encoding_Linear = 0, 3558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3568e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 1. Convert linear ProPhoto RGB values to HSV. 3578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 2. Encode V coordinate using sRGB encoding curve. 3588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 3. Use the encoded HSV coordinates to index into the color table. 3598e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 4. Apply color table result to the encoded values from step 2. 3608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 5. Decode V coordinate using sRGB decoding curve (inverse of step 2). 3618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // 6. Convert HSV values back to linear ProPhoto RGB (inverse of step 1). 3628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener encoding_sRGB = 1 3648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 3668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 3688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the DefaultBlackRender tag. 3708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3718e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 3728e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 3738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // By default, the renderer applies (possibly auto-calculated) black subtraction 3758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // prior to the look table. 3768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3778e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener defaultBlackRender_Auto = 0, 3788e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3798e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // By default, the renderer does not apply any black subtraction prior to the 3808e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // look table. 3818e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3828e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener defaultBlackRender_None = 1 3838e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3848e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 3858e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3868e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 3878e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3888e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for the PreviewColorSpace tag. 3898e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3908e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum PreviewColorSpaceEnum 3918e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 3928e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3938e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_Unknown = 0, 3948e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_GrayGamma22 = 1, 3958e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_sRGB = 2, 3968e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_AdobeRGB = 3, 3978e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_ProPhotoRGB = 4, 3988e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 3998e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_LastValid = previewColorSpace_ProPhotoRGB, 4008e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4018e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener previewColorSpace_MaxEnum = 0xFFFFFFFF 4028e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4038e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 4048e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4058e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 4068e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4078e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// Values for CacheVersion tag. 4088e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4098e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 4108e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 4118e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4128e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // The low-16 bits are a rendering version number. 4138e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4148e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cacheVersionMask = 0x0FFFF, 4158e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4168e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Default cache version. 4178e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4188e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cacheVersionDefault = 0x00100, 4198e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4208e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Is this an integer preview of a floating point image? 4218e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4228e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cacheVersionDefloated = 0x10000, 4238e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4248e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Is this an flattening preview of an image with tranparency? 4258e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4268e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cacheVersionFlattened = 0x20000, 4278e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4288e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Was this preview build using a the default baseline multi-channel 4298e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // CFA merge (i.e. only using the first channel)? 4308e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4318e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener cacheVersionFakeMerge = 0x40000 4328e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4338e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 4348e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4358e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 4368e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4378e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// TIFF-style byte order markers. 4388e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4398e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 4408e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 4418e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4428e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener byteOrderII = 0x4949, // 'II' 4438e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener byteOrderMM = 0x4D4D // 'MM' 4448e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4458e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 4468e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4478e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 4488e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4498e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// "Magic" numbers. 4508e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4518e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 4528e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 4538e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4548e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // DNG related. 4558e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4568e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicTIFF = 42, // TIFF (and DNG) 4578e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicExtendedProfile = 0x4352, // 'CR' 4588e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicRawCache = 1022, // Raw cache (fast load data) 4598e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4608e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener // Other raw formats - included here so the DNG SDK can parse them. 4618e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4628e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicPanasonic = 85, 4638e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicOlympusA = 0x4F52, 4648e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener magicOlympusB = 0x5352 4658e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4668e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 4678e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4688e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 4698e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4708e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener// DNG Version numbers 4718e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4728e8939fc10ad63576a2785ba1333a23726b7e164Florian Krienerenum 4738e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener { 4748e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4758e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_None = 0, 4768e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4778e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_1_0_0_0 = 0x01000000, 4788e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_1_1_0_0 = 0x01010000, 4798e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_1_2_0_0 = 0x01020000, 4808e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_1_3_0_0 = 0x01030000, 4818e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_1_4_0_0 = 0x01040000, 4828e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4838e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_Current = dngVersion_1_4_0_0, 4848e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4858e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener dngVersion_SaveDefault = dngVersion_Current 4868e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4878e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener }; 4888e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4898e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 4908e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4918e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener#endif 4928e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener 4938e8939fc10ad63576a2785ba1333a23726b7e164Florian Kriener/*****************************************************************************/ 494