Removed remaining XMP exif TagDetails tables.

This commit is contained in:
Andreas Huggel 2008-02-02 16:34:09 +00:00
parent 8239c44ee8
commit a818b4c052
3 changed files with 139 additions and 103 deletions

View File

@ -446,50 +446,6 @@ namespace Exiv2 {
{ 0, 0, 0, invalidTypeId, xmpInternal, 0 }
};
//! exif:GPSAltitudeRef
extern const TagDetails xmpExifGPSAltitudeRef[] = {
{ 0, N_("Above sea level") },
{ 1, N_("Below sea level") }
};
//! exif:GPSStatus
extern const TagDetails xmpExifGPSStatus[] = {
{ 'A', N_("measurement in progress") },
{ 'V', N_("measurement is interoperability") }
};
//! exif:GPSMeasureMode
extern const TagDetails xmpExifGPSMeasureMode[] = {
{ 2, N_("two-dimensional measurement") },
{ 3, N_("three-dimensional measurement") }
};
//! exif:GPSSpeedRef
extern const TagDetails xmpExifGPSSpeedRef[] = {
{ 'K', N_("kilometers per hour") },
{ 'M', N_("miles per hour") },
{ 'N', N_("knots") }
};
//! exif:GPSTrackRef, exif:GPSImgDirectionRef, exif:GPSDestBearingRef
extern const TagDetails xmpExifGPSDirection[] = {
{ 'T', N_("true direction") },
{ 'M', N_("magnetic direction") }
};
//! exif:GPSDestDistanceRef
extern const TagDetails xmpExifGPSDestDistanceRef[] = {
{ 'K', N_("kilometers") },
{ 'M', N_("miles") },
{ 'N', N_("knots") }
};
//! exif:GPSDifferential
extern const TagDetails xmpExifGPSDifferential[] = {
{ 0, N_("Without correction") },
{ 1, N_("Correction applied") }
};
extern const XmpPropertyInfo xmpExifInfo[] = {
{ "ExifVersion", N_("Exif Version"), "Closed Choice of Text", xmpText, xmpInternal, N_("EXIF tag 36864, 0x9000. EXIF version number.") },
{ "FlashpixVersion", N_("Flashpix Version"), "Closed Choice of Text", xmpText, xmpInternal, N_("EXIF tag 40960, 0xA000. Version of FlashPix.") },
@ -632,53 +588,53 @@ namespace Exiv2 {
};
extern const XmpPrintInfo xmpPrintInfo[] = {
{"Xmp.crs.CropUnits", EXV_PRINT_TAG(xmpCrsCropUnits) },
{"Xmp.exif.ApertureValue", print0x9202 },
{"Xmp.exif.BrightnessValue", printFloat },
{"Xmp.exif.ColorSpace", print0xa001 },
{"Xmp.exif.ComponentsConfiguration", print0x9101 },
{"Xmp.exif.Contrast", printNormalSoftHard },
{"Xmp.exif.CreateDate", printXmpDate },
{"Xmp.exif.CustomRendered", print0xa401 },
{"Xmp.exif.DateTimeOriginal", printXmpDate },
{"Xmp.exif.ExifVersion", printXmpVersion },
{"Xmp.exif.ExposureBiasValue", print0x9204 },
{"Xmp.exif.ExposureMode", print0xa402 },
{"Xmp.exif.ExposureProgram", print0x8822 },
{"Xmp.exif.FileSource", print0xa300 },
{"Xmp.exif.FlashpixVersion", printXmpVersion },
{"Xmp.exif.FNumber", print0x829d },
{"Xmp.exif.FocalLength", print0x920a },
{"Xmp.exif.FocalPlaneResolutionUnit", printExifUnit },
{"Xmp.exif.FocalPlaneXResolution", printFloat },
{"Xmp.exif.FocalPlaneYResolution", printFloat },
{"Xmp.exif.GainControl", print0xa407 },
{"Xmp.exif.GPSAltitudeRef", EXV_PRINT_TAG(xmpExifGPSAltitudeRef) },
{"Xmp.exif.GPSDestBearingRef", EXV_PRINT_TAG(xmpExifGPSDirection) },
{"Xmp.exif.GPSDestDistanceRef", EXV_PRINT_TAG(xmpExifGPSDestDistanceRef) },
{"Xmp.exif.GPSDifferential", EXV_PRINT_TAG(xmpExifGPSDifferential) },
{"Xmp.exif.GPSImgDirectionRef", EXV_PRINT_TAG(xmpExifGPSDirection) },
{"Xmp.exif.GPSMeasureMode", EXV_PRINT_TAG(xmpExifGPSMeasureMode) },
{"Xmp.exif.GPSSpeedRef", EXV_PRINT_TAG(xmpExifGPSSpeedRef) },
{"Xmp.exif.GPSStatus", EXV_PRINT_TAG(xmpExifGPSStatus) },
{"Xmp.exif.GPSTimeStamp", printXmpDate },
{"Xmp.exif.GPSTrackRef", EXV_PRINT_TAG(xmpExifGPSDirection) },
{"Xmp.exif.LightSource", print0x9208 },
{"Xmp.exif.MeteringMode", print0x9207 },
{"Xmp.exif.ModifyDate", printXmpDate },
{"Xmp.exif.Saturation", print0xa409 },
{"Xmp.exif.SceneCaptureType", print0xa406 },
{"Xmp.exif.SceneType", print0xa301 },
{"Xmp.exif.SensingMethod", print0xa217 },
{"Xmp.exif.Sharpness", printNormalSoftHard },
{"Xmp.exif.ShutterSpeedValue", print0x9201 },
{"Xmp.exif.SubjectDistanceRange", print0xa40c },
{"Xmp.exif.WhiteBalance", print0xa403 },
{"Xmp.tiff.Orientation", print0x0112 },
{"Xmp.tiff.ResolutionUnit", printExifUnit },
{"Xmp.tiff.XResolution", printLong },
{"Xmp.tiff.YCbCrPositioning", print0x0213 },
{"Xmp.tiff.YResolution", printLong }
{"Xmp.crs.CropUnits", EXV_PRINT_TAG(xmpCrsCropUnits)},
{"Xmp.exif.ApertureValue", print0x9202 },
{"Xmp.exif.BrightnessValue", printFloat },
{"Xmp.exif.ColorSpace", print0xa001 },
{"Xmp.exif.ComponentsConfiguration", print0x9101 },
{"Xmp.exif.Contrast", printNormalSoftHard },
{"Xmp.exif.CreateDate", printXmpDate },
{"Xmp.exif.CustomRendered", print0xa401 },
{"Xmp.exif.DateTimeOriginal", printXmpDate },
{"Xmp.exif.ExifVersion", printXmpVersion },
{"Xmp.exif.ExposureBiasValue", print0x9204 },
{"Xmp.exif.ExposureMode", print0xa402 },
{"Xmp.exif.ExposureProgram", print0x8822 },
{"Xmp.exif.FileSource", print0xa300 },
{"Xmp.exif.FlashpixVersion", printXmpVersion },
{"Xmp.exif.FNumber", print0x829d },
{"Xmp.exif.FocalLength", print0x920a },
{"Xmp.exif.FocalPlaneResolutionUnit", printExifUnit },
{"Xmp.exif.FocalPlaneXResolution", printFloat },
{"Xmp.exif.FocalPlaneYResolution", printFloat },
{"Xmp.exif.GainControl", print0xa407 },
{"Xmp.exif.GPSAltitudeRef", print0x0005 },
{"Xmp.exif.GPSDestBearingRef", printGPSDirRef },
{"Xmp.exif.GPSDestDistanceRef", print0x0019 },
{"Xmp.exif.GPSDifferential", print0x001e },
{"Xmp.exif.GPSImgDirectionRef", printGPSDirRef },
{"Xmp.exif.GPSMeasureMode", print0x000a },
{"Xmp.exif.GPSSpeedRef", print0x000c },
{"Xmp.exif.GPSStatus", print0x0009 },
{"Xmp.exif.GPSTimeStamp", printXmpDate },
{"Xmp.exif.GPSTrackRef", printGPSDirRef },
{"Xmp.exif.LightSource", print0x9208 },
{"Xmp.exif.MeteringMode", print0x9207 },
{"Xmp.exif.ModifyDate", printXmpDate },
{"Xmp.exif.Saturation", print0xa409 },
{"Xmp.exif.SceneCaptureType", print0xa406 },
{"Xmp.exif.SceneType", print0xa301 },
{"Xmp.exif.SensingMethod", print0xa217 },
{"Xmp.exif.Sharpness", printNormalSoftHard },
{"Xmp.exif.ShutterSpeedValue", print0x9201 },
{"Xmp.exif.SubjectDistanceRange", print0xa40c },
{"Xmp.exif.WhiteBalance", print0xa403 },
{"Xmp.tiff.Orientation", print0x0112 },
{"Xmp.tiff.ResolutionUnit", printExifUnit },
{"Xmp.tiff.XResolution", printLong },
{"Xmp.tiff.YCbCrPositioning", print0x0213 },
{"Xmp.tiff.YResolution", printLong }
};
XmpNsInfo::Ns::Ns(const std::string& ns)

View File

@ -985,11 +985,42 @@ namespace Exiv2 {
{ 1, N_("Below sea level") }
};
//! GPS status, tag 0x0009
extern const TagDetails exifGPSStatus[] = {
{ 'A', N_("Measurement in progress") },
{ 'V', N_("Measurement Interoperability") }
};
//! GPS measurement mode, tag 0x000a
extern const TagDetails exifGPSMeasureMode[] = {
{ '2', N_("Two-dimensional measurement") },
{ '3', N_("Three-dimensional measurement") }
};
//! GPS speed reference, tag 0x000c
extern const TagDetails exifGPSSpeedRef[] = {
{ 75, N_("km/h") },
{ 77, N_("mph") },
{ 78, N_("knots") }
{ 'K', N_("km/h") },
{ 'M', N_("mph") },
{ 'N', N_("knots") }
};
//! GPS direction ref, tags 0x000e, 0x0010, 0x0017
extern const TagDetails exifGPSDirRef[] = {
{ 'T', N_("True direction") },
{ 'M', N_("Magnetic direction") }
};
//! GPS Destination distance ref, tag 0x0019
extern const TagDetails exifGPSDestDistanceRef[] = {
{ 'K', N_("Kilometers") },
{ 'M', N_("Miles") },
{ 'N', N_("Knots") }
};
//! GPS Differential, tag 0x001e
extern const TagDetails exifGPSDifferential[] = {
{ 0, N_("Without correction") },
{ 1, N_("Correction applied") }
};
// GPS Info Tags
@ -1032,7 +1063,7 @@ namespace Exiv2 {
"and the altitude is indicated as an absolute value in the "
"GSPAltitude tag. The reference unit is meters. Note that this tag "
"is BYTE type, unlike other reference tags."),
gpsIfdId, gpsTags, unsignedByte, EXV_PRINT_TAG(exifGPSAltitudeRef)),
gpsIfdId, gpsTags, unsignedByte, print0x0005),
TagInfo(0x0006, "GPSAltitude", N_("GPS Altitude"),
N_("Indicates the altitude based on the reference in GPSAltitudeRef. "
"Altitude is expressed as one RATIONAL value. The reference unit is meters."),
@ -1053,11 +1084,11 @@ namespace Exiv2 {
N_("Indicates the status of the GPS receiver when the image is recorded. "
"\"A\" means measurement is in progress, and \"V\" means the measurement "
"is Interoperability."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, print0x0009),
TagInfo(0x000a, "GPSMeasureMode", N_("GPS Measure Mode"),
N_("Indicates the GPS measurement mode. \"2\" means two-dimensional measurement and \"3\" "
"means three-dimensional measurement is in progress."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, print0x000a),
TagInfo(0x000b, "GPSDOP", N_("GPS Data Degree of Precision"),
N_("Indicates the GPS DOP (data degree of precision). An HDOP value is written "
"during two-dimensional measurement, and PDOP during three-dimensional measurement."),
@ -1065,14 +1096,14 @@ namespace Exiv2 {
TagInfo(0x000c, "GPSSpeedRef", N_("GPS Speed Reference"),
N_("Indicates the unit used to express the GPS receiver speed of movement. "
"\"K\" \"M\" and \"N\" represents kilometers per hour, miles per hour, and knots."),
gpsIfdId, gpsTags, asciiString, EXV_PRINT_TAG(exifGPSSpeedRef)),
gpsIfdId, gpsTags, asciiString, print0x000c),
TagInfo(0x000d, "GPSSpeed", N_("GPS Speed"),
N_("Indicates the speed of GPS receiver movement."),
gpsIfdId, gpsTags, unsignedRational, printValue),
TagInfo(0x000e, "GPSTrackRef", N_("GPS Track Ref"),
N_("Indicates the reference for giving the direction of GPS receiver movement. "
"\"T\" denotes true direction and \"M\" is magnetic direction."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, printGPSDirRef),
TagInfo(0x000f, "GPSTrack", N_("GPS Track"),
N_("Indicates the direction of GPS receiver movement. The range of values is "
"from 0.00 to 359.99."),
@ -1080,7 +1111,7 @@ namespace Exiv2 {
TagInfo(0x0010, "GPSImgDirectionRef", N_("GPS Image Direction Reference"),
N_("Indicates the reference for giving the direction of the image when it is captured. "
"\"T\" denotes true direction and \"M\" is magnetic direction."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, printGPSDirRef),
TagInfo(0x0011, "GPSImgDirection", N_("GPS Image Direction"),
N_("Indicates the direction of the image when it was captured. The range of values "
"is from 0.00 to 359.99."),
@ -1115,7 +1146,7 @@ namespace Exiv2 {
TagInfo(0x0017, "GPSDestBearingRef", N_("GPS Destination Bearing Reference"),
N_("Indicates the reference used for giving the bearing to the destination point. "
"\"T\" denotes true direction and \"M\" is magnetic direction."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, printGPSDirRef),
TagInfo(0x0018, "GPSDestBearing", N_("GPS Destination Bearing"),
N_("Indicates the bearing to the destination point. The range of values is from "
"0.00 to 359.99."),
@ -1123,7 +1154,7 @@ namespace Exiv2 {
TagInfo(0x0019, "GPSDestDistanceRef", N_("GPS Destination Distance Reference"),
N_("Indicates the unit used to express the distance to the destination point. "
"\"K\", \"M\" and \"N\" represent kilometers, miles and knots."),
gpsIfdId, gpsTags, asciiString, printValue),
gpsIfdId, gpsTags, asciiString, print0x0019),
TagInfo(0x001a, "GPSDestDistance", N_("GPS Destination Distance"),
N_("Indicates the distance to the destination point."),
gpsIfdId, gpsTags, unsignedRational, printValue),
@ -1142,7 +1173,7 @@ namespace Exiv2 {
gpsIfdId, gpsTags, asciiString, printValue),
TagInfo(0x001e, "GPSDifferential", N_("GPS Differential"),
N_("Indicates whether differential correction is applied to the GPS receiver."),
gpsIfdId, gpsTags, unsignedShort, printValue),
gpsIfdId, gpsTags, unsignedShort, print0x001e),
// End of list marker
TagInfo(0xffff, "(UnknownGpsTag)", N_("Unknown GPSInfo tag"),
N_("Unknown GPSInfo tag"),
@ -1780,6 +1811,11 @@ namespace Exiv2 {
return os;
}
std::ostream& print0x0005(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSAltitudeRef)(os, value);
}
std::ostream& print0x0006(std::ostream& os, const Value& value)
{
std::ostringstream oss;
@ -1821,6 +1857,31 @@ namespace Exiv2 {
return os;
}
std::ostream& print0x0009(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSStatus)(os, value);
}
std::ostream& print0x000a(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSMeasureMode)(os, value);
}
std::ostream& print0x000c(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSSpeedRef)(os, value);
}
std::ostream& print0x0019(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSDestDistanceRef)(os, value);
}
std::ostream& print0x001e(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSDifferential)(os, value);
}
std::ostream& print0x0112(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifOrientation)(os, value);
@ -2109,6 +2170,11 @@ namespace Exiv2 {
return EXV_PRINT_TAG(exifSubjectDistanceRange)(os, value);
}
std::ostream& printGPSDirRef(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifGPSDirRef)(os, value);
}
std::ostream& printNormalSoftHard(std::ostream& os, const Value& value)
{
return EXV_PRINT_TAG(exifNormalSoftHard)(os, value);

View File

@ -448,10 +448,22 @@ namespace Exiv2 {
std::ostream& printExifUnit(std::ostream& os, const Value& value);
//! Print GPS version
std::ostream& print0x0000(std::ostream& os, const Value& value);
//! Print GPS altitude ref
std::ostream& print0x0005(std::ostream& os, const Value& value);
//! Print GPS altitude
std::ostream& print0x0006(std::ostream& os, const Value& value);
//! Print GPS timestamp
std::ostream& print0x0007(std::ostream& os, const Value& value);
//! Print GPS status
std::ostream& print0x0009(std::ostream& os, const Value& value);
//! Print GPS measurement mode
std::ostream& print0x000a(std::ostream& os, const Value& value);
//! Print GPS speed ref
std::ostream& print0x000c(std::ostream& os, const Value& value);
//! Print GPS destination distance ref
std::ostream& print0x0019(std::ostream& os, const Value& value);
//! Print GPS differential correction
std::ostream& print0x001e(std::ostream& os, const Value& value);
//! Print orientation
std::ostream& print0x0112(std::ostream& os, const Value& value);
//! Print YCbCrPositioning
@ -510,6 +522,8 @@ namespace Exiv2 {
std::ostream& print0xa409(std::ostream& os, const Value& value);
//! Print subject distance range
std::ostream& print0xa40c(std::ostream& os, const Value& value);
//! Print GPS direction ref
std::ostream& printGPSDirRef(std::ostream& os, const Value& value);
//! Print contrast, sharpness (normal, soft, hard)
std::ostream& printNormalSoftHard(std::ostream& os, const Value& value);
//! Print any version packed in 4 Bytes format : major major minor minor