Some cleanup and simplification

This commit is contained in:
Andreas Huggel 2006-05-20 06:55:39 +00:00
parent 345cc8fa43
commit 50f458aabd
6 changed files with 197 additions and 334 deletions

View File

@ -153,15 +153,15 @@ namespace Exiv2 {
TagInfo(0x0081, "Thumbnail", "Thumbnail", "Jpeg thumbnail 640x480 pixels", minoltaIfdId, makerTags, undefined, printValue),
TagInfo(0x0088, "ThumbnailOffset", "Thumbnail Offset", "Offset of the thumbnail", minoltaIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0089, "ThumbnailLength", "Thumbnail Length", "Size of the thumbnail", minoltaIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0101, "ColorMode", "Color Mode", "Color mode", minoltaIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaColorMode), minoltaColorMode>),
TagInfo(0x0102, "Quality", "Image Quality", "Image quality", minoltaIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaImageQuality), minoltaImageQuality>),
TagInfo(0x0101, "ColorMode", "Color Mode", "Color mode", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorMode)),
TagInfo(0x0102, "Quality", "Image Quality", "Image quality", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageQuality)),
// TODO: Tag 0x0103 : quality or image size (see ExifTool doc).
TagInfo(0x0107, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaImageStabilization), minoltaImageStabilization>),
TagInfo(0x010a, "ZoneMatching", "Zone Matching", "Zone matching", minoltaIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaZoneMatching), minoltaZoneMatching>),
TagInfo(0x0107, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageStabilization)),
TagInfo(0x010a, "ZoneMatching", "Zone Matching", "Zone matching", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaZoneMatching)),
TagInfo(0x010b, "ColorTemperature", "Color Temperature", "Color temperature", minoltaIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x010c, "LensID", "Lens ID", "Lens ID", minoltaIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaLensID), minoltaLensID>),
TagInfo(0x010c, "LensID", "Lens ID", "Lens ID", minoltaIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaLensID)),
TagInfo(0x0114, "CameraSettings5D", "Camera Settings (5D)", "Camera Settings (for Dynax 5D model)", minoltaIfdId, makerTags, undefined, printValue),
TagInfo(0x0e00, "PIM_IFD", "PIM IFD", "PIM information", minoltaIfdId, makerTags, undefined, printValue),
TagInfo(0x0f00, "CameraSettingsZ1", "Camera Settings (Z1)", "Camera Settings (for Z1, DImage X, and F100 models)", minoltaIfdId, makerTags, undefined, printValue),
@ -479,56 +479,56 @@ namespace Exiv2 {
// Minolta Standard Camera Settings Tag Info (Old and New)
const TagInfo MinoltaMakerNote::tagInfoCsStd_[] = {
TagInfo(0x0001, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaExposureModeStd), minoltaExposureModeStd>),
TagInfo(0x0002, "FlashMode", "Flash Mode", "Flash mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFlashModeStd), minoltaFlashModeStd>),
TagInfo(0x0003, "WhiteBalance", "White Balance", "White balance", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaWhiteBalanceStd), minoltaWhiteBalanceStd>),
TagInfo(0x0004, "ImageSize", "Image Size", "Image size", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaImageSizeStd), minoltaImageSizeStd>),
TagInfo(0x0005, "Quality", "Image Quality", "Image quality", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaImageQualityStd), minoltaImageQualityStd>),
TagInfo(0x0006, "DriveMode", "Drive Mode", "Drive mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaDriveModeStd), minoltaDriveModeStd>),
TagInfo(0x0007, "MeteringMode", "Metering Mode", "Metering mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaMeteringModeStd), minoltaMeteringModeStd>),
TagInfo(0x0001, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaExposureModeStd)),
TagInfo(0x0002, "FlashMode", "Flash Mode", "Flash mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashModeStd)),
TagInfo(0x0003, "WhiteBalance", "White Balance", "White balance", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaWhiteBalanceStd)),
TagInfo(0x0004, "ImageSize", "Image Size", "Image size", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageSizeStd)),
TagInfo(0x0005, "Quality", "Image Quality", "Image quality", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageQualityStd)),
TagInfo(0x0006, "DriveMode", "Drive Mode", "Drive mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDriveModeStd)),
TagInfo(0x0007, "MeteringMode", "Metering Mode", "Metering mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaMeteringModeStd)),
TagInfo(0x0008, "ExposureSpeed", "Exposure Speed", "Exposure speed", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureSpeedStd),
TagInfo(0x0009, "ExposureTime", "Exposure Time", "Exposure time", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureTimeStd),
TagInfo(0x000A, "FNumber", "FNumber", "FNumber", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFNumberStd),
TagInfo(0x000B, "MacroMode", "Macro Mode", "Macro mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaMacroModeStd), minoltaMacroModeStd>),
TagInfo(0x000C, "DigitalZoom", "Digital Zoom", "Digital zoom", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaDigitalZoomStd), minoltaDigitalZoomStd>),
TagInfo(0x000B, "MacroMode", "Macro Mode", "Macro mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaMacroModeStd)),
TagInfo(0x000C, "DigitalZoom", "Digital Zoom", "Digital zoom", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDigitalZoomStd)),
TagInfo(0x000D, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaExposureCompensationStd),
TagInfo(0x000E, "BracketStep", "Bracket Step", "Bracket step", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaBracketStepStd), minoltaBracketStepStd>),
TagInfo(0x000E, "BracketStep", "Bracket Step", "Bracket step", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaBracketStepStd)),
TagInfo(0x0010, "IntervalLength", "Interval Length", "Interval length", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0011, "IntervalNumber", "Interval Number", "Interval number", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0012, "FocalLength", "Focal Length", "Focal length", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFocalLengthStd),
TagInfo(0x0013, "FocusDistance", "Focus Distance", "Focus distance", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0014, "Flash", "Flash", "Flash", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFlashStd), minoltaFlashStd>),
TagInfo(0x0014, "Flash", "Flash", "Flash", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashStd)),
TagInfo(0x0015, "MinoltaDate", "Minolta Date", "Minolta date", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaDateStd),
TagInfo(0x0016, "MinoltaTime", "Minolta Time", "Minolta time", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaTimeStd),
TagInfo(0x0017, "MaxAperture", "Max Aperture", "Max aperture", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x001A, "FileNumberMemory", "File Number Memory", "File number memory", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFileNumberMemoryStd), minoltaFileNumberMemoryStd>),
TagInfo(0x001A, "FileNumberMemory", "File Number Memory", "File number memory", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFileNumberMemoryStd)),
TagInfo(0x001B, "ImageNumber", "Image Number", "Image number", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x001C, "ColorBalanceRed", "Color Balance Red", "Color balance red", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd),
TagInfo(0x001D, "ColorBalanceGreen", "Color Balance Green", "Color balance green", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd),
TagInfo(0x001E, "ColorBalanceBlue", "Color Balance Blue", "Color balance blue", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaWhiteBalanceStd),
TagInfo(0x001F, "Saturation", "Saturation", "Saturation", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0020, "Contrast", "Contrast", "Contrast", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0021, "Sharpness", "Sharpness", "Sharpness", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaSharpnessStd), minoltaSharpnessStd>),
TagInfo(0x0022, "SubjectProgram", "Subject Program", "Subject program", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaSubjectProgramStd), minoltaSubjectProgramStd>),
TagInfo(0x0021, "Sharpness", "Sharpness", "Sharpness", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSharpnessStd)),
TagInfo(0x0022, "SubjectProgram", "Subject Program", "Subject program", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaSubjectProgramStd)),
TagInfo(0x0023, "FlashExposureComp", "Flash Exposure Compensation", "Flash exposure compensation in EV", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaFlashExposureCompStd),
TagInfo(0x0024, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaISOSettingStd), minoltaISOSettingStd>),
TagInfo(0x0025, "MinoltaModel", "Minolta Model", "Minolta model", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaModelStd), minoltaModelStd>),
TagInfo(0x0026, "IntervalMode", "Interval Mode", "Interval mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaIntervalModeStd), minoltaIntervalModeStd>),
TagInfo(0x0027, "FolderName", "Folder Name", "Folder name", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFolderNameStd), minoltaFolderNameStd>),
TagInfo(0x0028, "ColorMode", "ColorMode", "ColorMode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaColorModeStd), minoltaColorModeStd>),
TagInfo(0x0024, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaISOSettingStd)),
TagInfo(0x0025, "MinoltaModel", "Minolta Model", "Minolta model", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaModelStd)),
TagInfo(0x0026, "IntervalMode", "Interval Mode", "Interval mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaIntervalModeStd)),
TagInfo(0x0027, "FolderName", "Folder Name", "Folder name", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFolderNameStd)),
TagInfo(0x0028, "ColorMode", "ColorMode", "ColorMode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorModeStd)),
TagInfo(0x0029, "ColorFilter", "Color Filter", "Color filter", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002A, "BWFilter", "Black White Filter", "Black and white filter", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002B, "InternalFlash", "Internal Flash", "Internal flash", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaInternalFlashStd), minoltaInternalFlashStd>),
TagInfo(0x002B, "InternalFlash", "Internal Flash", "Internal flash", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaInternalFlashStd)),
TagInfo(0x002C, "Brightness", "Brightness", "Brightness", minoltaCsNewIfdId, makerTags, unsignedLong, printMinoltaBrightnessStd),
TagInfo(0x002D, "SpotFocusPointX", "Spot Focus Point X", "Spot focus point X", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002E, "SpotFocusPointY", "Spot Focus Point Y", "Spot focus point Y", minoltaCsNewIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002F, "WideFocusZone", "Wide Focus Zone", "Wide focus zone", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaWideFocusZoneStd), minoltaWideFocusZoneStd>),
TagInfo(0x0030, "FocusMode", "Focus Mode", "Focus mode", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFocusModeStd), minoltaFocusModeStd>),
TagInfo(0x0031, "FocusArea", "Focus area", "Focus area", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFocusAreaStd), minoltaFocusAreaStd>),
TagInfo(0x0032, "DECPosition", "DEC Switch Position", "DEC switch position", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaDECPositionStd), minoltaDECPositionStd>),
TagInfo(0x0033, "ColorProfile", "Color Profile", "Color profile", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaColorProfileStd), minoltaColorProfileStd>),
TagInfo(0x0034, "DataImprint", "Data Imprint", "Data imprint", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaDataImprintStd), minoltaDataImprintStd>),
TagInfo(0x003F, "FlashMetering", "Flash Metering", "Flash metering", minoltaCsNewIfdId, makerTags, unsignedLong, printTag<EXV_COUNTOF(minoltaFlashMeteringStd), minoltaFlashMeteringStd>),
TagInfo(0x002F, "WideFocusZone", "Wide Focus Zone", "Wide focus zone", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaWideFocusZoneStd)),
TagInfo(0x0030, "FocusMode", "Focus Mode", "Focus mode", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFocusModeStd)),
TagInfo(0x0031, "FocusArea", "Focus area", "Focus area", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFocusAreaStd)),
TagInfo(0x0032, "DECPosition", "DEC Switch Position", "DEC switch position", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDECPositionStd)),
TagInfo(0x0033, "ColorProfile", "Color Profile", "Color profile", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaColorProfileStd)),
TagInfo(0x0034, "DataImprint", "Data Imprint", "Data imprint", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaDataImprintStd)),
TagInfo(0x003F, "FlashMetering", "Flash Metering", "Flash metering", minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaFlashMeteringStd)),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCsTag)", "(UnknownMinoltaCsTag)", "Unknown Minolta Camera Settings tag", minoltaCsNewIfdId, makerTags, invalidTypeId, printValue)
@ -646,34 +646,34 @@ namespace Exiv2 {
// Minolta Dynax 7D Camera Settings Tag Info
const TagInfo MinoltaMakerNote::tagInfoCs7D_[] = {
TagInfo(0x0000, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaExposureMode7D), minoltaExposureMode7D>),
TagInfo(0x0002, "ImageSize", "Image Size", "Image size", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageSize7D), minoltaImageSize7D>),
TagInfo(0x0003, "Quality", "Image Quality", "Image quality", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageQuality7D), minoltaImageQuality7D>),
TagInfo(0x0004, "WhiteBalance", "White Balance", "White balance", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaWhiteBalance7D), minoltaWhiteBalance7D>),
TagInfo(0x000E, "FocusMode", "Focus Mode", "Focus mode", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFocusMode7D), minoltaFocusMode7D>),
TagInfo(0x0010, "AFPoints", "AF Points", "AF points", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaAFPoints7D), minoltaAFPoints7D>),
TagInfo(0x0015, "Flash", "Flash", "Flash", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFlash7D), minoltaFlash7D>),
TagInfo(0x0000, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode7D)),
TagInfo(0x0002, "ImageSize", "Image Size", "Image size", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize7D)),
TagInfo(0x0003, "Quality", "Image Quality", "Image quality", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality7D)),
TagInfo(0x0004, "WhiteBalance", "White Balance", "White balance", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance7D)),
TagInfo(0x000E, "FocusMode", "Focus Mode", "Focus mode", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusMode7D)),
TagInfo(0x0010, "AFPoints", "AF Points", "AF points", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaAFPoints7D)),
TagInfo(0x0015, "Flash", "Flash", "Flash", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFlash7D)),
TagInfo(0x0016, "FlashMode", "Flash Mode", "Flash mode", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x001C, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaISOSetting7D), minoltaISOSetting7D>),
TagInfo(0x001C, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaISOSetting7D)),
TagInfo(0x001E, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCs7DIfdId, makerTags, signedShort, printValue),
TagInfo(0x0025, "ColorSpace", "Color Space", "Color space", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaColorSpace7D), minoltaColorSpace7D>),
TagInfo(0x0025, "ColorSpace", "Color Space", "Color space", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaColorSpace7D)),
TagInfo(0x0026, "Sharpness", "Sharpness", "Sharpness", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0027, "Contrast", "Contrast", "Contrast", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0028, "Saturation", "Saturation", "Saturation", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x002D, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x003F, "ColorTemperature", "Color Temperature", "Color temperature", minoltaCs7DIfdId, makerTags, signedShort, printValue),
TagInfo(0x0040, "Hue", "Hue", "Hue", minoltaCsNewIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0046, "Rotation", "Rotation", "Rotation", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaRotation7D), minoltaRotation7D>),
TagInfo(0x0046, "Rotation", "Rotation", "Rotation", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaRotation7D)),
TagInfo(0x0047, "FNumber", "FNumber", "FNumber", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0048, "ExposureTime", "Exposure Time", "Exposure time", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
// 0x004A is a dupplicate than 0x002D.
TagInfo(0x004A, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x005E, "ImageNumber", "Image Number", "Image number", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0060, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaNoiseReduction7D), minoltaNoiseReduction7D>),
TagInfo(0x0060, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction7D)),
// 0x0062 is a dupplicate than 0x005E.
TagInfo(0x0062, "ImageNumber", "Image Number", "Image number", minoltaCs7DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0071, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageStabilization7D), minoltaImageStabilization7D>),
TagInfo(0x0075, "ZoneMatchingOn", "Zone Matching On", "Zone matching on", minoltaCs7DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaZoneMatchingOn7D), minoltaZoneMatchingOn7D>),
TagInfo(0x0071, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageStabilization7D)),
TagInfo(0x0075, "ZoneMatchingOn", "Zone Matching On", "Zone matching on", minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaZoneMatchingOn7D)),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCs7DTag)", "(UnknownMinoltaCs7DTag)", "Unknown Minolta Camera Settings 7D tag", minoltaCs7DIfdId, makerTags, invalidTypeId, printValue)
@ -794,15 +794,15 @@ namespace Exiv2 {
// Minolta Dynax 5D Camera Settings Tag Info
const TagInfo MinoltaMakerNote::tagInfoCs5D_[] = {
TagInfo(0x000A, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaExposureMode5D), minoltaExposureMode5D>),
TagInfo(0x000C, "ImageSize", "Image Size", "Image size", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageSize5D), minoltaImageSize5D>),
TagInfo(0x000D, "Quality", "Image Quality", "Image quality", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageQuality5D), minoltaImageQuality5D>),
TagInfo(0x000E, "WhiteBalance", "White Balance", "White balance", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaWhiteBalance5D), minoltaWhiteBalance5D>),
TagInfo(0x001a, "FocusPosition", "Focus Position", "Focus position", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFocusPosition5D), minoltaFocusPosition5D>),
TagInfo(0x001b, "FocusArea", "Focus Area", "Focus area", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFocusArea5D), minoltaFocusArea5D>),
TagInfo(0x001F, "Flash", "Flash", "Flash", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFlash5D), minoltaFlash5D>),
TagInfo(0x0025, "MeteringMode", "Metering Mode", "Metering mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaMeteringMode5D), minoltaMeteringMode5D>),
TagInfo(0x0026, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaISOSetting5D), minoltaISOSetting5D>),
TagInfo(0x000A, "ExposureMode", "Exposure Mode", "Exposure mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode5D)),
TagInfo(0x000C, "ImageSize", "Image Size", "Image size", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize5D)),
TagInfo(0x000D, "Quality", "Image Quality", "Image quality", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality5D)),
TagInfo(0x000E, "WhiteBalance", "White Balance", "White balance", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaWhiteBalance5D)),
TagInfo(0x001a, "FocusPosition", "Focus Position", "Focus position", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusPosition5D)),
TagInfo(0x001b, "FocusArea", "Focus Area", "Focus area", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusArea5D)),
TagInfo(0x001F, "Flash", "Flash", "Flash", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFlash5D)),
TagInfo(0x0025, "MeteringMode", "Metering Mode", "Metering mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaMeteringMode5D)),
TagInfo(0x0026, "ISOSpeed", "ISO Speed Mode", "ISO speed setting", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaISOSetting5D)),
TagInfo(0x0030, "Sharpness", "Sharpness", "Sharpness", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0031, "Contrast", "Contrast", "Contrast", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0032, "Saturation", "Saturation", "Saturation", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
@ -810,14 +810,14 @@ namespace Exiv2 {
TagInfo(0x0036, "FNumber", "FNumber", "FNumber", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0037, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0038, "ExposureRevision", "Exposure Revision", "Exposure revision", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0048, "FocusMode", "Focus Mode", "Focus mode", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaFocusMode5D), minoltaFocusMode5D>),
TagInfo(0x0048, "FocusMode", "Focus Mode", "Focus mode", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaFocusMode5D)),
TagInfo(0x0049, "ColorTemperature", "Color Temperature", "Color temperature", minoltaCs5DIfdId, makerTags, signedShort, printValue),
TagInfo(0x0050, "Rotation", "Rotation", "Rotation", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaRotation5D), minoltaRotation5D>),
TagInfo(0x0050, "Rotation", "Rotation", "Rotation", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaRotation5D)),
TagInfo(0x0053, "ExposureCompensation", "Exposure Compensation", "Exposure compensation", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0054, "FreeMemoryCardImages", "Free Memory Card Images", "Free memory card images", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x00AE, "ImageNumber", "Image Number", "Image number", minoltaCs5DIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x00B0, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaNoiseReduction5D), minoltaNoiseReduction5D>),
TagInfo(0x00BD, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs5DIfdId, makerTags, unsignedShort, printTag<EXV_COUNTOF(minoltaImageStabilization5D), minoltaImageStabilization5D>),
TagInfo(0x00B0, "NoiseReduction", "Noise Reduction", "Noise reduction", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaNoiseReduction5D)),
TagInfo(0x00BD, "ImageStabilization", "Image Stabilization", "Image stabilization", minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageStabilization5D)),
// End of list marker
TagInfo(0xffff, "(UnknownMinoltaCs5DTag)", "(UnknownMinoltaCs5DTag)", "Unknown Minolta Camera Settings 5D tag", minoltaCs5DIfdId, makerTags, invalidTypeId, printValue)

View File

@ -60,11 +60,41 @@ namespace Exiv2 {
}
//! @endcond
//! Quality, tag 0x0201
extern const TagDetails olympusQuality[] = {
{ 1, "Standard Quality (SQ)" },
{ 2, "High Quality (HQ)" },
{ 3, "Super High Quality (SHQ)" },
{ 6, "Raw" }
};
//! Macro, tag 0x0202
extern const TagDetails olympusMacro[] = {
{ 0, "Off" },
{ 1, "On" },
{ 2, "Super Macro" }
};
//! OneTouchWB, tag 0x0302
extern const TagDetails olympusOneTouchWb[] = {
{ 0, "Off" },
{ 1, "On" },
{ 2, "On (Preset)" }
};
//! FlashDevice, tag 0x1005
extern const TagDetails olympusFlashDevice[] = {
{ 0, "None" },
{ 1, "Internal" },
{ 4, "External" },
{ 4, "Internal + External" }
};
// Olympus Tag Info
const TagInfo OlympusMakerNote::tagInfo_[] = {
TagInfo(0x0200, "SpecialMode", "SpecialMode", "Picture taking mode", olympusIfdId, makerTags, unsignedLong, print0x0200),
TagInfo(0x0201, "Quality", "Quality", "Image quality setting", olympusIfdId, makerTags, unsignedShort, print0x0201),
TagInfo(0x0202, "Macro", "Macro", "Macro mode", olympusIfdId, makerTags, unsignedShort, print0x0202),
TagInfo(0x0201, "Quality", "Quality", "Image quality setting", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusQuality)),
TagInfo(0x0202, "Macro", "Macro", "Macro mode", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusMacro)),
TagInfo(0x0203, "BWMode", "BWMode", "Black and White Mode", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0204, "DigitalZoom", "DigitalZoom", "Digital zoom ratio", olympusIfdId, makerTags, unsignedRational, print0x0204),
TagInfo(0x0205, "FocalPlaneDiagonal", "FocalPlaneDiagonal", "Focal plane diagonal", olympusIfdId, makerTags, unsignedRational, printValue),
@ -74,7 +104,7 @@ namespace Exiv2 {
TagInfo(0x0209, "CameraID", "CameraID", "CameraID data", olympusIfdId, makerTags, undefined, printValue),
TagInfo(0x0300, "PreCaptureFrames", "PreCaptureFrames", "Pre-capture frames", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0301, "0x0301", "0x0301", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0302, "OneTouchWB", "OneTouchWB", "OneTouchWB", olympusIfdId, makerTags, unsignedShort, print0x0302),
TagInfo(0x0302, "OneTouchWB", "OneTouchWB", "OneTouchWB", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOneTouchWb)),
TagInfo(0x0303, "0x0303", "0x0303", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0304, "0x0304", "0x0304", "Unknown", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0f00, "DataDump", "DataDump", "Various camera settings", olympusIfdId, makerTags, undefined, printValue),
@ -83,7 +113,7 @@ namespace Exiv2 {
TagInfo(0x1002, "0x1002", "0x1002", "Unknown", olympusIfdId, makerTags, signedRational, printValue),
TagInfo(0x1003, "0x1003", "0x1003", "Unknown", olympusIfdId, makerTags, signedRational, printValue),
TagInfo(0x1004, "FlashMode", "FlashMode", "Flash mode", olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x1005, "FlashDevice", "FlashDevice", "Flash device", olympusIfdId, makerTags, unsignedShort, print0x1005),
TagInfo(0x1005, "FlashDevice", "FlashDevice", "Flash device", olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFlashDevice)),
TagInfo(0x1006, "Bracket", "Bracket", "Bracket", olympusIfdId, makerTags, signedRational, printValue),
TagInfo(0x1007, "0x1007", "0x1007", "Unknown", olympusIfdId, makerTags, signedShort, printValue),
TagInfo(0x1008, "0x1008", "0x1008", "Unknown", olympusIfdId, makerTags, signedShort, printValue),
@ -229,37 +259,6 @@ namespace Exiv2 {
return os;
} // OlympusMakerNote::print0x0200
//! Quality
const TagDetails quality[] = {
{ 0, "(start)" },
{ 1, "Standard Quality (SQ)" },
{ 2, "High Quality (HQ)" },
{ 3, "Super High Quality (SHQ)" },
{ 6, "Raw" },
{ 0, "(end)" }
};
std::ostream& OlympusMakerNote::print0x0201(std::ostream& os,
const Value& value)
{
return TagTranslator(quality).print(os, value);
} // OlympusMakerNote::print0x0201
//! Macro
const TagDetails macro[] = {
{ -1, "(start)" },
{ 0, "Off" },
{ 1, "On" },
{ 2, "Super Macro" },
{ -1, "(end)" }
};
std::ostream& OlympusMakerNote::print0x0202(std::ostream& os,
const Value& value)
{
return TagTranslator(macro).print(os, value);
} // OlympusMakerNote::print0x0202
std::ostream& OlympusMakerNote::print0x0204(std::ostream& os,
const Value& value)
{
@ -272,37 +271,6 @@ namespace Exiv2 {
return os;
} // OlympusMakerNote::print0x0204
//! OneTouchWB
const TagDetails oneTouchWb[] = {
{ -1, "(start)" },
{ 0, "Off" },
{ 1, "On" },
{ 2, "On (Preset)" },
{ -1, "(end)" }
};
std::ostream& OlympusMakerNote::print0x0302(std::ostream& os,
const Value& value)
{
return TagTranslator(oneTouchWb).print(os, value);
} // OlympusMakerNote::print0x0302
//! FlashDevice
const TagDetails flashDevice[] = {
{ -1, "(start)" },
{ 0, "None" },
{ 1, "Internal" },
{ 4, "External" },
{ 4, "Internal + External" },
{ -1, "(end)" }
};
std::ostream& OlympusMakerNote::print0x1005(std::ostream& os,
const Value& value)
{
return TagTranslator(flashDevice).print(os, value);
} // OlympusMakerNote::print0x1005
// *****************************************************************************
// free functions

View File

@ -21,9 +21,9 @@
/*!
@file olympusmn.hpp
@brief Olympus MakerNote implemented using the following references:
<a href="http://park2.wakwak.com/%7Etsuruzoh/Computer/Digicams/exif-e.html#APP1">Exif file format, Appendix 1: MakerNote of Olympus Digicams</a> by TsuruZoh Tachibanaya,
Olympus.pm of <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/">ExifTool</a> by Phil Harvey,
<a href="http://www.ozhiker.com/electronics/pjmt/jpeg_info/olympus_mn.html">Olympus Makernote Format Specification</a> by Evan Hunter,
<a href="http://park2.wakwak.com/%7Etsuruzoh/Computer/Digicams/exif-e.html#APP1">Exif file format, Appendix 1: MakerNote of Olympus Digicams</a> by TsuruZoh Tachibanaya,<br>
Olympus.pm of <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/">ExifTool</a> by Phil Harvey,<br>
<a href="http://www.ozhiker.com/electronics/pjmt/jpeg_info/olympus_mn.html">Olympus Makernote Format Specification</a> by Evan Hunter,<br>
email communication with <a href="mailto:wstokes@gmail.com">Will Stokes</a>
@version $Rev$
@author Andreas Huggel (ahu)
@ -125,16 +125,8 @@ namespace Exiv2 {
//@{
//! Print 'Special Mode'
static std::ostream& print0x0200(std::ostream& os, const Value& value);
//! Print Jpeg quality
static std::ostream& print0x0201(std::ostream& os, const Value& value);
//! Print Macro mode
static std::ostream& print0x0202(std::ostream& os, const Value& value);
//! Print Digital Zoom Factor
static std::ostream& print0x0204(std::ostream& os, const Value& value);
//! Print OneTouchWB
static std::ostream& print0x0302(std::ostream& os, const Value& value);
//! Print FlashDevice
static std::ostream& print0x1005(std::ostream& os, const Value& value);
//@}
//! @cond IGNORE

View File

@ -57,18 +57,107 @@ namespace Exiv2 {
}
//! @endcond
//! Quality, tag 0x0001
extern const TagDetails panasonicQuality[] = {
{ 2, "High" },
{ 3, "Standard" },
{ 6, "Very High" },
{ 7, "Raw" }
};
//! WhiteBalance, tag 0x0003
extern const TagDetails panasonicWhiteBalance[] = {
{ 1, "Auto" },
{ 2, "Daylight" },
{ 3, "Cloudy" },
{ 4, "Halogen" },
{ 5, "Manual" },
{ 8, "Flash" },
{ 10, "Black and White" }
};
//! FocusMode, tag 0x0007
extern const TagDetails panasonicFocusMode[] = {
{ 1, "Auto" },
{ 2, "Manual" }
};
//! ImageStabilizer, tag 0x001a
extern const TagDetails panasonicImageStabilizer[] = {
{ 2, "On, Mode 1" },
{ 3, "Off" },
{ 4, "On, Mode 2" }
};
//! Macro, tag 0x001c
extern const TagDetails panasonicMacro[] = {
{ 1, "On" },
{ 2, "Off" }
};
//! ShootingMode, tag 0x001f
extern const TagDetails panasonicShootingMode[] = {
{ 1, "Normal" },
{ 2, "Portrait" },
{ 3, "Scenery" },
{ 4, "Sports" },
{ 5, "Night Portrait" },
{ 6, "Program" },
{ 7, "Aperture Priority" },
{ 8, "Shutter Priority" },
{ 9, "Macro" },
{ 11, "Manual" },
{ 13, "Panning" },
{ 18, "Fireworks" },
{ 19, "Party" },
{ 20, "Snow" },
{ 21, "Night Scenery" }
};
//! Audio, tag 0x0020
extern const TagDetails panasonicAudio[] = {
{ 1, "Yes" },
{ 2, "No" }
};
//! ColorEffect, tag 0x0028
extern const TagDetails panasonicColorEffect[] = {
{ 1, "Off" },
{ 2, "Warm" },
{ 3, "Cool" },
{ 4, "Black and White" },
{ 5, "Sepia" }
};
//! Contrast, tag 0x002c
extern const TagDetails panasonicContrast[] = {
{ 0, "Standard" },
{ 1, "Low" },
{ 2, "High" },
{ 0x100, "Low" },
{ 0x110, "Standard" },
{ 0x120, "High" }
};
//! NoiseReduction, tag 0x002d
extern const TagDetails panasonicNoiseReduction[] = {
{ 0, "Standard" },
{ 1, "Low" },
{ 2, "High" }
};
// Panasonic MakerNote Tag Info
const TagInfo PanasonicMakerNote::tagInfo_[] = {
TagInfo(0x0001, "Quality", "Quality", "Image Quality", panasonicIfdId, makerTags, unsignedShort, print0x0001),
TagInfo(0x0001, "Quality", "Quality", "Image Quality", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicQuality)),
TagInfo(0x0002, "FirmwareVersion", "FirmwareVersion", "Firmware version", panasonicIfdId, makerTags, undefined, printValue),
TagInfo(0x0003, "WhiteBalance", "WhiteBalance", "White balance setting", panasonicIfdId, makerTags, unsignedShort, print0x0003),
TagInfo(0x0003, "WhiteBalance", "WhiteBalance", "White balance setting", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicWhiteBalance)),
TagInfo(0x0004, "0x0004", "0x0004", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0007, "FocusMode", "FocusMode", "Focus mode", panasonicIfdId, makerTags, unsignedShort, print0x0007),
TagInfo(0x0007, "FocusMode", "FocusMode", "Focus mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicFocusMode)),
TagInfo(0x000f, "SpotMode", "SpotMode", "Spot mode", panasonicIfdId, makerTags, unsignedByte, print0x000f),
TagInfo(0x001a, "ImageStabilizer", "ImageStabilizer", "Image stabilizer", panasonicIfdId, makerTags, unsignedShort, print0x001a),
TagInfo(0x001c, "Macro", "Macro", "Macro mode", panasonicIfdId, makerTags, unsignedShort, print0x001c),
TagInfo(0x001f, "ShootingMode", "ShootingMode", "Shooting mode", panasonicIfdId, makerTags, unsignedShort, print0x001f),
TagInfo(0x0020, "Audio", "Audio", "Audio", panasonicIfdId, makerTags, unsignedShort, print0x0020),
TagInfo(0x001a, "ImageStabilizer", "ImageStabilizer", "Image stabilizer", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicImageStabilizer)),
TagInfo(0x001c, "Macro", "Macro", "Macro mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicMacro)),
TagInfo(0x001f, "ShootingMode", "ShootingMode", "Shooting mode", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicShootingMode)),
TagInfo(0x0020, "Audio", "Audio", "Audio", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicAudio)),
TagInfo(0x0021, "DataDump", "DataDump", "Data dump", panasonicIfdId, makerTags, undefined, printValue),
TagInfo(0x0022, "0x0022", "0x0022", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0023, "WhiteBalanceBias", "WhiteBalanceBias", "White balance adjustment", panasonicIfdId, makerTags, unsignedShort, print0x0023),
@ -76,12 +165,12 @@ namespace Exiv2 {
TagInfo(0x0025, "SerialNumber", "SerialNumber", "Serial number", panasonicIfdId, makerTags, undefined, printValue),
TagInfo(0x0026, "0x0026", "0x0026", "Unknown", panasonicIfdId, makerTags, undefined, printValue),
TagInfo(0x0027, "0x0027", "0x0027", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0028, "ColorEffect", "ColorEffect", "Color effect", panasonicIfdId, makerTags, unsignedShort, print0x0028),
TagInfo(0x0028, "ColorEffect", "ColorEffect", "Color effect", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicColorEffect)),
TagInfo(0x0029, "0x0029", "0x0029", "Unknown", panasonicIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002a, "0x002a", "0x002a", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x002b, "0x002b", "0x002b", "Unknown", panasonicIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x002c, "Contrast", "Contrast", "Contrast setting", panasonicIfdId, makerTags, unsignedShort, print0x002c),
TagInfo(0x002d, "NoiseReduction", "NoiseReduction", "Noise reduction", panasonicIfdId, makerTags, unsignedShort, print0x002d),
TagInfo(0x002c, "Contrast", "Contrast", "Contrast setting", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicContrast)),
TagInfo(0x002d, "NoiseReduction", "NoiseReduction", "Noise reduction", panasonicIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(panasonicNoiseReduction)),
TagInfo(0x002e, "0x002e", "0x002e", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x002f, "0x002f", "0x002f", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0030, "0x0030", "0x0030", "Unknown", panasonicIfdId, makerTags, unsignedShort, printValue),
@ -154,55 +243,6 @@ namespace Exiv2 {
return new PanasonicMakerNote(*this);
}
//! Quality
const TagDetails quality[] = {
{ 0, "(start)" },
{ 2, "High" },
{ 3, "Standard" },
{ 6, "Very High" },
{ 7, "Raw" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x0001(std::ostream& os,
const Value& value)
{
return TagTranslator(quality).print(os, value);
} // PanasonicMakerNote::print0x0001
//! WhiteBalance
const TagDetails whiteBalance[] = {
{ 0, "(start)" },
{ 1, "Auto" },
{ 2, "Daylight" },
{ 3, "Cloudy" },
{ 4, "Halogen" },
{ 5, "Manual" },
{ 8, "Flash" },
{ 10, "Black and White" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x0003(std::ostream& os,
const Value& value)
{
return TagTranslator(whiteBalance).print(os, value);
} // PanasonicMakerNote::print0x0003
//! FocusMode
const TagDetails focusMode[] = {
{ 0, "(start)" },
{ 1, "Auto" },
{ 2, "Manual" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x0007(std::ostream& os,
const Value& value)
{
return TagTranslator(focusMode).print(os, value);
} // PanasonicMakerNote::print0x0007
std::ostream& PanasonicMakerNote::print0x000f(std::ostream& os,
const Value& value)
{
@ -216,76 +256,6 @@ namespace Exiv2 {
return os;
} // PanasonicMakerNote::print0x000f
//! ImageStabilizer
const TagDetails imageStabilizer[] = {
{ 0, "(start)" },
{ 2, "On, Mode 1" },
{ 3, "Off" },
{ 4, "On, Mode 2" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x001a(std::ostream& os,
const Value& value)
{
return TagTranslator(imageStabilizer).print(os, value);
} // PanasonicMakerNote::print0x001a
//! Macro
const TagDetails macro[] = {
{ 0, "(start)" },
{ 1, "On" },
{ 2, "Off" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x001c(std::ostream& os,
const Value& value)
{
return TagTranslator(macro).print(os, value);
} // PanasonicMakerNote::print0x001c
//! ShootingMode
const TagDetails shootingMode[] = {
{ 0, "(start)" },
{ 1, "Normal" },
{ 2, "Portrait" },
{ 3, "Scenery" },
{ 4, "Sports" },
{ 5, "Night Portrait" },
{ 6, "Program" },
{ 7, "Aperture Priority" },
{ 8, "Shutter Priority" },
{ 9, "Macro" },
{ 11, "Manual" },
{ 13, "Panning" },
{ 18, "Fireworks" },
{ 19, "Party" },
{ 20, "Snow" },
{ 21, "Night Scenery" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x001f(std::ostream& os,
const Value& value)
{
return TagTranslator(shootingMode).print(os, value);
} // PanasonicMakerNote::print0x001f
//! Audio
const TagDetails Audio[] = {
{ 0, "(start)" },
{ 1, "Yes" },
{ 2, "No" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x0020(std::ostream& os,
const Value& value)
{
return TagTranslator(Audio).print(os, value);
} // PanasonicMakerNote::print0x0020
std::ostream& PanasonicMakerNote::print0x0023(std::ostream& os,
const Value& value)
{
@ -299,56 +269,6 @@ namespace Exiv2 {
} // PanasonicMakerNote::print0x0023
//! ColorEffect
const TagDetails colorEffect[] = {
{ 0, "(start)" },
{ 1, "Off" },
{ 2, "Warm" },
{ 3, "Cool" },
{ 4, "Black and White" },
{ 5, "Sepia" },
{ 0, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x0028(std::ostream& os,
const Value& value)
{
return TagTranslator(colorEffect).print(os, value);
} // PanasonicMakerNote::print0x0028
//! Contrast
const TagDetails contrast[] = {
{ -1, "(start)" },
{ 0, "Standard" },
{ 1, "Low" },
{ 2, "High" },
{ 0x100, "Low" },
{ 0x110, "Standard" },
{ 0x120, "High" },
{ -1, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x002c(std::ostream& os,
const Value& value)
{
return TagTranslator(contrast).print(os, value);
} // PanasonicMakerNote::print0x002c
//! NoiseReduction
const TagDetails noiseReduction[] = {
{ -1, "(start)" },
{ 0, "Standard" },
{ 1, "Low" },
{ 2, "High" },
{ -1, "(end)" }
};
std::ostream& PanasonicMakerNote::print0x002d(std::ostream& os,
const Value& value)
{
return TagTranslator(noiseReduction).print(os, value);
} // PanasonicMakerNote::print0x002d
// *****************************************************************************
// free functions

View File

@ -120,30 +120,10 @@ namespace Exiv2 {
//! @name Print functions for Panasonic %MakerNote tags
//@{
//! Print Quality
static std::ostream& print0x0001(std::ostream& os, const Value& value);
//! Print WhiteBalance
static std::ostream& print0x0003(std::ostream& os, const Value& value);
//! Print FocusMode
static std::ostream& print0x0007(std::ostream& os, const Value& value);
//! Print SpotMode
static std::ostream& print0x000f(std::ostream& os, const Value& value);
//! Print ImageStabilizer
static std::ostream& print0x001a(std::ostream& os, const Value& value);
//! Print Macro
static std::ostream& print0x001c(std::ostream& os, const Value& value);
//! Print ShootingMode
static std::ostream& print0x001f(std::ostream& os, const Value& value);
//! Print Audio
static std::ostream& print0x0020(std::ostream& os, const Value& value);
//! Print WhiteBalanceBias
static std::ostream& print0x0023(std::ostream& os, const Value& value);
//! Print ColorEffect
static std::ostream& print0x0028(std::ostream& os, const Value& value);
//! Print Contrast
static std::ostream& print0x002c(std::ostream& os, const Value& value);
//! Print NoiseReduction
static std::ostream& print0x002d(std::ostream& os, const Value& value);
//@}
//! @cond IGNORE

View File

@ -141,6 +141,9 @@ namespace Exiv2 {
return os;
}
//! Shortcut for the printTag template which requires typing the array name only once.
#define EXV_PRINT_TAG(array) printTag<EXV_COUNTOF(array), array>
/*!
@brief Translation from numeric values from a lookup list to human
readable labels