From 3342e7ed8436ff466f46fff6b774a1b1877fd02b Mon Sep 17 00:00:00 2001 From: HumanDynamo Date: Sat, 28 Oct 2006 21:38:38 +0000 Subject: [PATCH] Update Exif IFD tags descriptions --- src/tags.cpp | 233 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 191 insertions(+), 42 deletions(-) diff --git a/src/tags.cpp b/src/tags.cpp index 5d5ffc21..2be2caa4 100644 --- a/src/tags.cpp +++ b/src/tags.cpp @@ -645,48 +645,197 @@ namespace Exiv2 { // Exif IFD Tags static const TagInfo exifTagInfo[] = { - TagInfo(0x829a, "ExposureTime", "Exposure Time", "Exposure time", exifIfdId, captureCond, unsignedRational, print0x829a), - TagInfo(0x829d, "FNumber", "FNumber", "F number", exifIfdId, captureCond, unsignedRational, print0x829d), - TagInfo(0x8822, "ExposureProgram", "ExposureProgram", "Exposure program", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifExposureProgram)), - TagInfo(0x8824, "SpectralSensitivity", "Spectral Sensitivity", "Spectral sensitivity", exifIfdId, captureCond, asciiString, printValue), - TagInfo(0x8827, "ISOSpeedRatings", "ISO Speed Ratings", "ISO speed ratings", exifIfdId, captureCond, unsignedShort, print0x8827), - TagInfo(0x8828, "OECF", "OECF", "Optoelectric coefficient", exifIfdId, captureCond, undefined, printValue), - TagInfo(0x9000, "ExifVersion", "Exif Version", "Exif Version", exifIfdId, exifVersion, undefined, printValue), - TagInfo(0x9003, "DateTimeOriginal", "Date and Time (original)", "Date and time original image was generated", exifIfdId, dateTime, asciiString, printValue), - TagInfo(0x9004, "DateTimeDigitized", "Date and Time (digitized)", "Date and time image was made digital data", exifIfdId, dateTime, asciiString, printValue), - TagInfo(0x9101, "ComponentsConfiguration", "ComponentsConfiguration", "Meaning of each component", exifIfdId, imgConfig, undefined, print0x9101), - TagInfo(0x9102, "CompressedBitsPerPixel", "Compressed Bits per Pixel", "Image compression mode", exifIfdId, imgConfig, unsignedRational, printFloat), - TagInfo(0x9201, "ShutterSpeedValue", "Shutter speed", "Shutter speed", exifIfdId, captureCond, signedRational, print0x9201), - TagInfo(0x9202, "ApertureValue", "Aperture", "Aperture", exifIfdId, captureCond, unsignedRational, print0x9202), - TagInfo(0x9203, "BrightnessValue", "Brightness", "Brightness", exifIfdId, captureCond, signedRational, printFloat), - TagInfo(0x9204, "ExposureBiasValue", "Exposure Bias", "Exposure bias", exifIfdId, captureCond, signedRational, print0x9204), - TagInfo(0x9205, "MaxApertureValue", "MaxApertureValue", "Maximum lens aperture", exifIfdId, captureCond, unsignedRational, print0x9202), - TagInfo(0x9206, "SubjectDistance", "Subject Distance", "Subject distance", exifIfdId, captureCond, unsignedRational, print0x9206), - TagInfo(0x9207, "MeteringMode", "Metering Mode", "Metering mode", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifMeteringMode)), - TagInfo(0x9208, "LightSource", "Light Source", "Light source", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifLightSource)), - TagInfo(0x9209, "Flash", "Flash", "Flash", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifFlash)), - TagInfo(0x920a, "FocalLength", "Focal Length", "Lens focal length", exifIfdId, captureCond, unsignedRational, print0x920a), - TagInfo(0x9214, "SubjectArea", "Subject Area", "Subject area", exifIfdId, captureCond, unsignedShort, printValue), - TagInfo(0x927c, "MakerNote", "Maker Note", "Manufacturer notes", exifIfdId, userInfo, undefined, printValue), - TagInfo(0x9286, "UserComment", "User Comment", "User comments", exifIfdId, userInfo, comment, print0x9286), - TagInfo(0x9290, "SubSecTime", "SubsecTime", "DateTime subseconds", exifIfdId, dateTime, asciiString, printValue), - TagInfo(0x9291, "SubSecTimeOriginal", "SubSecTimeOriginal", "DateTimeOriginal subseconds", exifIfdId, dateTime, asciiString, printValue), - TagInfo(0x9292, "SubSecTimeDigitized", "SubSecTimeDigitized", "DateTimeDigitized subseconds", exifIfdId, dateTime, asciiString, printValue), - TagInfo(0xa000, "FlashpixVersion", "FlashPixVersion", "Supported Flashpix version", exifIfdId, exifVersion, undefined, printValue), - TagInfo(0xa001, "ColorSpace", "Color Space", "Color space information", exifIfdId, imgCharacter, unsignedShort, EXV_PRINT_TAG(exifColorSpace)), - TagInfo(0xa002, "PixelXDimension", "PixelXDimension", "Valid image width", exifIfdId, imgConfig, unsignedLong, printValue), - TagInfo(0xa003, "PixelYDimension", "PixelYDimension", "Valid image height", exifIfdId, imgConfig, unsignedLong, printValue), - TagInfo(0xa004, "RelatedSoundFile", "RelatedSoundFile", "Related audio file", exifIfdId, relatedFile, asciiString, printValue), - TagInfo(0xa005, "InteroperabilityTag", "InteroperabilityIFDPointer", "Interoperability IFD Pointer", exifIfdId, exifFormat, unsignedLong, printValue), - TagInfo(0xa20b, "FlashEnergy", "Flash Energy", "Flash energy", exifIfdId, captureCond, unsignedRational, printValue), - TagInfo(0xa20c, "SpatialFrequencyResponse", "Spatial Frequency Response", "Spatial frequency response", exifIfdId, captureCond, undefined, printValue), - TagInfo(0xa20e, "FocalPlaneXResolution", "Focal Plane x-Resolution", "Focal plane X resolution", exifIfdId, captureCond, unsignedRational, printFloat), - TagInfo(0xa20f, "FocalPlaneYResolution", "Focal Plane y-Resolution", "Focal plane Y resolution", exifIfdId, captureCond, unsignedRational, printFloat), - TagInfo(0xa210, "FocalPlaneResolutionUnit", "Focal Plane Resolution Unit", "Focal plane resolution unit", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifUnit)), - TagInfo(0xa214, "SubjectLocation", "Subject Location", "Subject location", exifIfdId, captureCond, unsignedShort, printValue), - TagInfo(0xa215, "ExposureIndex", "Exposure index", "Exposure index", exifIfdId, captureCond, unsignedRational, printValue), - TagInfo(0xa217, "SensingMethod", "Sensing Method", "Sensing method", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifSensingMethod)), - TagInfo(0xa300, "FileSource", "File Source", "File source", exifIfdId, captureCond, undefined, EXV_PRINT_TAG(exifFileSource)), + TagInfo(0x829a, "ExposureTime", "Exposure Time", + "Exposure time, given in seconds (sec).", + exifIfdId, captureCond, unsignedRational, print0x829a), + TagInfo(0x829d, "FNumber", "FNumber", + "The F number.", + exifIfdId, captureCond, unsignedRational, print0x829d), + TagInfo(0x8822, "ExposureProgram", "ExposureProgram", + "The class of the program used by the camera to set exposure " + "when the picture is taken.", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifExposureProgram)), + TagInfo(0x8824, "SpectralSensitivity", "Spectral Sensitivity", + "Indicates the spectral sensitivity of each channel of the " + "camera used. The tag value is an ASCII string compatible " + "with the standard developed by the ASTM Technical Committee.", + exifIfdId, captureCond, asciiString, printValue), + TagInfo(0x8827, "ISOSpeedRatings", "ISO Speed Ratings", + "Indicates the ISO Speed and ISO Latitude of the camera or " + "input device as specified in ISO 12232.", + exifIfdId, captureCond, unsignedShort, print0x8827), + TagInfo(0x8828, "OECF", "OECF", + "Indicates the Opto-Electoric Conversion Function (OECF) " + "specified in ISO 14524. is the relationship between " + "the camera optical input and the image values.", + exifIfdId, captureCond, undefined, printValue), + TagInfo(0x9000, "ExifVersion", "Exif Version", + "The version of this standard supported. Nonexistence of this " + "field is taken to mean nonconformance to the standard.", + exifIfdId, exifVersion, undefined, printValue), + TagInfo(0x9003, "DateTimeOriginal", "Date and Time (original)", + "The date and time when the original image data was generated. " + "For a digital still camera " + "the date and time the picture was taken are recorded.", + exifIfdId, dateTime, asciiString, printValue), + TagInfo(0x9004, "DateTimeDigitized", "Date and Time (digitized)", + "The date and time when the image was stored as digital data.", + exifIfdId, dateTime, asciiString, printValue), + TagInfo(0x9101, "ComponentsConfiguration", "ComponentsConfiguration", + "Information specific to compressed data. The channels of " + "each component are arranged in order from the 1st " + "component to the 4th. For uncompressed data the data " + "arrangement is given in the tag. " + "However, since can only " + "express the order of Y, Cb and Cr, this tag is provided " + "for cases when compressed data uses components other than " + "Y, Cb, and Cr and to enable support of other sequences.", + exifIfdId, imgConfig, undefined, print0x9101), + TagInfo(0x9102, "CompressedBitsPerPixel", "Compressed Bits per Pixel", + "Information specific to compressed data. The compression mode " + "used for a compressed image is indicated in unit bits per pixel.", + exifIfdId, imgConfig, unsignedRational, printFloat), + TagInfo(0x9201, "ShutterSpeedValue", "Shutter speed", + "Shutter speed. The unit is the APEX (Additive System of " + "Photographic Exposure) setting.", + exifIfdId, captureCond, signedRational, print0x9201), + TagInfo(0x9202, "ApertureValue", "Aperture", + "The lens aperture. The unit is the APEX value.", + exifIfdId, captureCond, unsignedRational, print0x9202), + TagInfo(0x9203, "BrightnessValue", "Brightness", + "The value of brightness. The unit is the APEX value. " + "Ordinarily it is given in the range of -99.99 to 99.99.", + exifIfdId, captureCond, signedRational, printFloat), + TagInfo(0x9204, "ExposureBiasValue", "Exposure Bias", + "The exposure bias. The units is the APEX value. Ordinarily " + "it is given in the range of -99.99 to 99.99.", + exifIfdId, captureCond, signedRational, print0x9204), + TagInfo(0x9205, "MaxApertureValue", "MaxApertureValue", + "The smallest F number of the lens. The unit is the APEX value. " + "Ordinarily it is given in the range of 00.00 to 99.99, " + "but it is not limited to this range.", + exifIfdId, captureCond, unsignedRational, print0x9202), + TagInfo(0x9206, "SubjectDistance", "Subject Distance", + "The distance to the subject, given in meters.", + exifIfdId, captureCond, unsignedRational, print0x9206), + TagInfo(0x9207, "MeteringMode", "Metering Mode", + "The metering mode.", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifMeteringMode)), + TagInfo(0x9208, "LightSource", "Light Source", + "The kind of light source.", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifLightSource)), + TagInfo(0x9209, "Flash", "Flash", + "This tag is recorded when an image is taken using a strobe light (flash).", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifFlash)), + TagInfo(0x920a, "FocalLength", "Focal Length", + "The actual focal length of the lens, in mm. Conversion is not " + "made to the focal length of a 35 mm film camera.", + exifIfdId, captureCond, unsignedRational, print0x920a), + TagInfo(0x9214, "SubjectArea", "Subject Area", + "This tag indicates the location and area of the main subject " + "in the overall scene.", + exifIfdId, captureCond, unsignedShort, printValue), + TagInfo(0x927c, "MakerNote", "Maker Note", + "A tag for manufacturers of Exif writers to record any desired " + "information. The contents are up to the manufacturer.", + exifIfdId, userInfo, undefined, printValue), + TagInfo(0x9286, "UserComment", "User Comment", + "A tag for Exif users to write keywords or comments on the image " + "besides those in , and without the " + "character code limitations of the tag.", + exifIfdId, userInfo, comment, print0x9286), + TagInfo(0x9290, "SubSecTime", "SubsecTime", + "A tag used to record fractions of seconds for the tag.", + exifIfdId, dateTime, asciiString, printValue), + TagInfo(0x9291, "SubSecTimeOriginal", "SubSecTimeOriginal", + "A tag used to record fractions of seconds for the tag.", + exifIfdId, dateTime, asciiString, printValue), + TagInfo(0x9292, "SubSecTimeDigitized", "SubSecTimeDigitized", + "A tag used to record fractions of seconds for the tag.", + exifIfdId, dateTime, asciiString, printValue), + TagInfo(0xa000, "FlashpixVersion", "FlashPixVersion", + "The FlashPix format version supported by a FPXR file.", + exifIfdId, exifVersion, undefined, printValue), + TagInfo(0xa001, "ColorSpace", "Color Space", + "The color space information tag is always " + "recorded as the color space specifier. Normally sRGB (=1) " + "is used to define the color space based on the PC monitor " + "conditions and environment. If a color space other than " + "sRGB is used, Uncalibrated (=FFFF.H) is set. Image data " + "recorded as Uncalibrated can be treated as sRGB when it is " + "converted to FlashPix.", + exifIfdId, imgCharacter, unsignedShort, EXV_PRINT_TAG(exifColorSpace)), + TagInfo(0xa002, "PixelXDimension", "PixelXDimension", + "Information specific to compressed data. When a " + "compressed file is recorded, the valid width of the " + "meaningful image must be recorded in this tag, whether or " + "not there is padding data or a restart marker. This tag " + "should not exist in an uncompressed file.", + exifIfdId, imgConfig, unsignedLong, printValue), + TagInfo(0xa003, "PixelYDimension", "PixelYDimension", + "Information specific to compressed data. When a compressed " + "file is recorded, the valid height of the meaningful image " + "must be recorded in this tag, whether or not there is padding " + "data or a restart marker. This tag should not exist in an " + "uncompressed file. Since data padding is unnecessary in the vertical " + "direction, the number of lines recorded in this valid image height tag " + "will in fact be the same as that recorded in the SOF.", + exifIfdId, imgConfig, unsignedLong, printValue), + TagInfo(0xa004, "RelatedSoundFile", "RelatedSoundFile", + "This tag is used to record the name of an audio file related " + "to the image data. The only relational information " + "recorded here is the Exif audio file name and extension (an " + "ASCII string consisting of 8 characters + '.' + 3 " + "characters). The path is not recorded.", + exifIfdId, relatedFile, asciiString, printValue), + TagInfo(0xa005, "InteroperabilityTag", "InteroperabilityIFDPointer", + "Interoperability IFD is composed of tags which stores the " + "information to ensure the Interoperability and pointed " + "by the following tag located in Exif IFD. " + "The Interoperability structure of Interoperability IFD is " + "the same as TIFF defined IFD structure but does not contain the " + "image data characteristically compared with normal TIFF IFD.", + exifIfdId, exifFormat, unsignedLong, printValue), + TagInfo(0xa20b, "FlashEnergy", "Flash Energy", + "Indicates the strobe energy at the time the image is " + "captured, as measured in Beam Candle Power Seconds (BCPS).", + exifIfdId, captureCond, unsignedRational, printValue), + TagInfo(0xa20c, "SpatialFrequencyResponse", "Spatial Frequency Response", + "This tag records the camera or input device spatial frequency " + "table and SFR values in the direction of image width, " + "image height, and diagonal direction, as specified in ISO 12233.", + exifIfdId, captureCond, undefined, printValue), + TagInfo(0xa20e, "FocalPlaneXResolution", "Focal Plane x-Resolution", + "Indicates the number of pixels in the image width (X) direction " + "per on the camera focal plane.", + exifIfdId, captureCond, unsignedRational, printFloat), + TagInfo(0xa20f, "FocalPlaneYResolution", "Focal Plane y-Resolution", + "Indicates the number of pixels in the image height (V) direction " + "per on the camera focal plane.", + exifIfdId, captureCond, unsignedRational, printFloat), + TagInfo(0xa210, "FocalPlaneResolutionUnit", "Focal Plane Resolution Unit", + "Indicates the unit for measuring and " + ". This value is the same as the .", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifUnit)), + TagInfo(0xa214, "SubjectLocation", "Subject Location", + "Indicates the location of the main subject in the scene. The " + "value of this tag represents the pixel at the center of the " + "main subject relative to the left edge, prior to rotation " + "processing as per the tag. The first value " + "indicates the X column number and second indicates the Y row number.", + exifIfdId, captureCond, unsignedShort, printValue), + TagInfo(0xa215, "ExposureIndex", "Exposure index", + "Indicates the exposure index selected on the camera or " + "input device at the time the image is captured.", + exifIfdId, captureCond, unsignedRational, printValue), + TagInfo(0xa217, "SensingMethod", "Sensing Method", + "Indicates the image sensor type on the camera or input device.", + exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifSensingMethod)), + TagInfo(0xa300, "FileSource", "File Source", + "Indicates the image source. If a DSC recorded the image, " + "this tag value of this tag always be set to 3, indicating " + "that the image was recorded on a DSC.", + exifIfdId, captureCond, undefined, EXV_PRINT_TAG(exifFileSource)), TagInfo(0xa301, "SceneType", "Scene Type", "Scene type", exifIfdId, captureCond, undefined, EXV_PRINT_TAG(exifSceneType)), TagInfo(0xa302, "CFAPattern", "CFA Pattern", "CFA pattern", exifIfdId, captureCond, undefined, printValue), TagInfo(0xa401, "CustomRendered", "Custom Rendered", "Custom image processing", exifIfdId, captureCond, unsignedShort, EXV_PRINT_TAG(exifCustomRendered)),