Reverted some Exif keys changed recently back to the original names, updated easy-access functions to include recently added Sony and Minolta tags.
This commit is contained in:
parent
053651f97e
commit
482cd93977
@ -37,7 +37,8 @@ static const EasyAccess easyAccess[] = {
|
||||
{ "Exposure time", Exiv2::exposureTime },
|
||||
{ "FNumber", Exiv2::fNumber },
|
||||
{ "Subject distance", Exiv2::subjectDistance },
|
||||
{ "Camera serial number", Exiv2::serialNumber }
|
||||
{ "Camera serial number", Exiv2::serialNumber },
|
||||
{ "Focal length", Exiv2::focalLength }
|
||||
};
|
||||
|
||||
int main(int argc, char **argv)
|
||||
@ -54,11 +55,14 @@ try {
|
||||
|
||||
for (unsigned int i = 0; i < EXV_COUNTOF(easyAccess); ++i) {
|
||||
Exiv2::ExifData::const_iterator pos = easyAccess[i].findFct_(ed);
|
||||
std::cout << std::setw(20) << std::left << easyAccess[i].label_;
|
||||
if (pos != ed.end()) {
|
||||
std::cout << std::setw(13) << std::left << easyAccess[i].label_ << " ("
|
||||
<< std::setw(30) << pos->key() << ") : "
|
||||
std::cout << " (" << std::setw(35) << pos->key() << ") : "
|
||||
<< pos->print(&ed) << "\n";
|
||||
}
|
||||
else {
|
||||
std::cout << " (" << std::setw(35) << " " << ") : \n";
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@ -70,7 +70,13 @@ namespace Exiv2 {
|
||||
"Exif.Image.Orientation",
|
||||
"Exif.Panasonic.Rotation",
|
||||
"Exif.MinoltaCs5D.Rotation",
|
||||
"Exif.MinoltaCs7D.Rotation"
|
||||
"Exif.MinoltaCs5D.Rotation2",
|
||||
"Exif.MinoltaCs7D.Rotation",
|
||||
"Exif.Sony1MltCsA100.Rotation",
|
||||
"Exif.Sony1Cs.Rotation",
|
||||
"Exif.Sony2Cs.Rotation",
|
||||
"Exif.Sony1Cs2.Rotation",
|
||||
"Exif.Sony2Cs2.Rotation"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -91,6 +97,10 @@ namespace Exiv2 {
|
||||
"Exif.MinoltaCsOld.ISOSetting",
|
||||
"Exif.MinoltaCs5D.ISOSpeed",
|
||||
"Exif.MinoltaCs7D.ISOSpeed",
|
||||
"Exif.Sony1Cs.ISOSetting",
|
||||
"Exif.Sony2Cs.ISOSetting",
|
||||
"Exif.Sony1Cs2.ISOSetting",
|
||||
"Exif.Sony2Cs2.ISOSetting",
|
||||
"Exif.Pentax.ISO",
|
||||
"Exif.Olympus.ISOSpeed"
|
||||
};
|
||||
@ -119,7 +129,11 @@ namespace Exiv2 {
|
||||
"Exif.CanonSi.FlashBias",
|
||||
"Exif.Panasonic.FlashBias",
|
||||
"Exif.Olympus.FlashBias",
|
||||
"Exif.OlympusCs.FlashExposureComp"
|
||||
"Exif.OlympusCs.FlashExposureComp",
|
||||
"Exif.Minolta.FlashExposureComp",
|
||||
"Exif.SonyMinolta.FlashExposureComp",
|
||||
"Exif.Sony1.FlashExposureComp",
|
||||
"Exif.Sony2.FlashExposureComp"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -134,6 +148,9 @@ namespace Exiv2 {
|
||||
"Exif.MinoltaCs5D.ExposureMode",
|
||||
"Exif.MinoltaCsNew.ExposureMode",
|
||||
"Exif.MinoltaCsOld.ExposureMode",
|
||||
"Exif.Sony1MltCsA100.ExposureMode",
|
||||
"Exif.Sony1Cs.ExposureProgram",
|
||||
"Exif.Sony2Cs.ExposureProgram",
|
||||
"Exif.Sigma.ExposureMode"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
@ -145,10 +162,16 @@ namespace Exiv2 {
|
||||
"Exif.CanonCs.EasyMode",
|
||||
"Exif.Fujifilm.PictureMode",
|
||||
"Exif.MinoltaCsNew.SubjectProgram",
|
||||
"Exif.MinoltaCsOld.SubjectProgram",
|
||||
"Exif.Minolta.SceneMode",
|
||||
"Exif.SonyMinolta.SceneMode",
|
||||
"Exif.Sony1.SceneMode",
|
||||
"Exif.Sony2.SceneMode",
|
||||
"Exif.OlympusCs.SceneMode",
|
||||
"Exif.Panasonic.ShootingMode",
|
||||
"Exif.Panasonic.SceneMode",
|
||||
"Exif.Pentax.PictureMode"
|
||||
"Exif.Pentax.PictureMode",
|
||||
"Exif.Photo.SceneCaptureType"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -162,7 +185,9 @@ namespace Exiv2 {
|
||||
"Exif.OlympusCs.MacroMode",
|
||||
"Exif.Panasonic.Macro",
|
||||
"Exif.MinoltaCsNew.MacroMode",
|
||||
"Exif.MinoltaCsOld.MacroMode"
|
||||
"Exif.MinoltaCsOld.MacroMode",
|
||||
"Exif.Sony1.Macro",
|
||||
"Exif.Sony2.Macro"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -184,10 +209,13 @@ namespace Exiv2 {
|
||||
"Exif.MinoltaCsOld.Quality",
|
||||
"Exif.MinoltaCs5D.Quality",
|
||||
"Exif.MinoltaCs7D.Quality",
|
||||
"Exif.Sony1MltCsA100.Quality",
|
||||
"Exif.Sony1.JPEGQuality",
|
||||
"Exif.Sony1.Quality",
|
||||
"Exif.Sony1Cs.Quality",
|
||||
"Exif.Sony2.JPEGQuality",
|
||||
"Exif.Sony2.Quality"
|
||||
"Exif.Sony2.Quality",
|
||||
"Exif.Sony2Cs.Quality"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -208,6 +236,13 @@ namespace Exiv2 {
|
||||
"Exif.MinoltaCs7D.WhiteBalance",
|
||||
"Exif.MinoltaCsNew.WhiteBalance",
|
||||
"Exif.MinoltaCsOld.WhiteBalance",
|
||||
"Exif.Minolta.WhiteBalance",
|
||||
"Exif.Sony1MltCsA100.WhiteBalance",
|
||||
"Exif.SonyMinolta.WhiteBalance",
|
||||
"Exif.Sony1.WhiteBalance",
|
||||
"Exif.Sony2.WhiteBalance",
|
||||
"Exif.Sony1.WhiteBalance2",
|
||||
"Exif.Sony2.WhiteBalance2",
|
||||
"Exif.Photo.WhiteBalance"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
@ -220,8 +255,11 @@ namespace Exiv2 {
|
||||
"Exif.NikonLd1.LensIDNumber",
|
||||
"Exif.NikonLd2.LensIDNumber",
|
||||
"Exif.NikonLd3.LensIDNumber",
|
||||
"Exif.Pentax.LensType",
|
||||
"Exif.Minolta.LensID",
|
||||
"Exif.Pentax.LensType"
|
||||
"Exif.SonyMinolta.LensID",
|
||||
"Exif.Sony1.LensID",
|
||||
"Exif.Sony2.LensID"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
@ -294,7 +332,8 @@ namespace Exiv2 {
|
||||
static const char* keys[] = {
|
||||
"Exif.Photo.MeteringMode",
|
||||
"Exif.Image.MeteringMode",
|
||||
"Exif.CanonCs.MeteringMode"
|
||||
"Exif.CanonCs.MeteringMode",
|
||||
"Exif.Sony1MltCsA100.MeteringMode"
|
||||
};
|
||||
return findMetadatum(ed, keys, EXV_COUNTOF(keys));
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@ namespace Exiv2 {
|
||||
EXIV2API ExifData::const_iterator subjectDistance(const ExifData& ed);
|
||||
//! Return the camera serial number
|
||||
EXIV2API ExifData::const_iterator serialNumber(const ExifData& ed);
|
||||
//! Return the focal lenght setting
|
||||
//! Return the focal length setting
|
||||
EXIV2API ExifData::const_iterator focalLength(const ExifData& ed);
|
||||
|
||||
} // namespace Exiv2
|
||||
|
||||
@ -138,7 +138,7 @@ namespace Exiv2 {
|
||||
|
||||
TagInfo(0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"),
|
||||
N_("Flash exposure compensation in EV"),
|
||||
minoltaIfdId, makerTags, signedRational, printValue),
|
||||
minoltaIfdId, makerTags, signedRational, printMinoltaSonyFlashExposureComp),
|
||||
TagInfo(0x0105, "Teleconverter", N_("Teleconverter Model"),
|
||||
N_("Teleconverter Model"),
|
||||
minoltaIfdId, makerTags, unsignedLong, printMinoltaSonyTeleconverterModel),
|
||||
@ -494,11 +494,11 @@ namespace Exiv2 {
|
||||
TagInfo(0x0003, "WhiteBalance", N_("White Balance"),
|
||||
N_("White balance"),
|
||||
minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaWhiteBalanceStd)),
|
||||
TagInfo(0x0004, "MinoltaImageSize", N_("Minolta Image Size"),
|
||||
N_("Minolta Image size"),
|
||||
TagInfo(0x0004, "ImageSize", N_("Image Size"),
|
||||
N_("Image size"),
|
||||
minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageSizeStd)),
|
||||
TagInfo(0x0005, "MinoltaQuality", N_("Minolta Image Quality"),
|
||||
N_("Minolta Image quality"),
|
||||
TagInfo(0x0005, "Quality", N_("Image Quality"),
|
||||
N_("Image quality"),
|
||||
minoltaCsNewIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(minoltaImageQualityStd)),
|
||||
TagInfo(0x0006, "DriveMode", N_("Drive Mode"),
|
||||
N_("Drive mode"),
|
||||
@ -739,11 +739,11 @@ namespace Exiv2 {
|
||||
TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"),
|
||||
N_("Exposure mode"),
|
||||
minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode7D)),
|
||||
TagInfo(0x0002, "MinoltaImageSize", N_("Minolta Image Size"),
|
||||
N_("Minolta Image size"),
|
||||
TagInfo(0x0002, "ImageSize", N_("Image Size"),
|
||||
N_("Image size"),
|
||||
minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize7D)),
|
||||
TagInfo(0x0003, "MinoltaQuality", N_("Minolta Image Quality"),
|
||||
N_("Minolta Image quality"),
|
||||
TagInfo(0x0003, "Quality", N_("Image Quality"),
|
||||
N_("Image quality"),
|
||||
minoltaCs7DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality7D)),
|
||||
TagInfo(0x0004, "WhiteBalance", N_("White Balance"),
|
||||
N_("White balance"),
|
||||
@ -983,11 +983,11 @@ namespace Exiv2 {
|
||||
TagInfo(0x000A, "ExposureMode", N_("Exposure Mode"),
|
||||
N_("Exposure mode"),
|
||||
minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaExposureMode5D)),
|
||||
TagInfo(0x000C, "MinoltaImageSize", N_("Minolta Image Size"),
|
||||
N_("Minolta Image size"),
|
||||
TagInfo(0x000C, "ImageSize", N_("Image Size"),
|
||||
N_("Image size"),
|
||||
minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageSize5D)),
|
||||
TagInfo(0x000D, "MinoltaQuality", N_("Minolta Image Quality"),
|
||||
N_("Minolta Image quality"),
|
||||
TagInfo(0x000D, "Quality", N_("Image Quality"),
|
||||
N_("Image quality"),
|
||||
minoltaCs5DIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(minoltaImageQuality5D)),
|
||||
TagInfo(0x000E, "WhiteBalance", N_("White Balance"),
|
||||
N_("White balance"),
|
||||
@ -1480,9 +1480,9 @@ namespace Exiv2 {
|
||||
TagInfo(0x003B, "SonyImageSize", N_("Sony Image Size"),
|
||||
N_("Sony Image Size"),
|
||||
sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyImageSizeA100)),
|
||||
TagInfo(0x003C, "SonyQuality", N_("SonyQuality"),
|
||||
N_("SonyQuality"),
|
||||
sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyQualityCS),
|
||||
TagInfo(0x003C, "Quality", N_("Quality"),
|
||||
N_("Quality"),
|
||||
sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyQualityCs),
|
||||
TagInfo(0x003D, "InstantPlaybackTime", N_("Instant Playback Time"),
|
||||
N_("Instant playback time"),
|
||||
sony1MltCsA100IfdId, makerTags, unsignedShort, printValue),
|
||||
@ -1997,7 +1997,7 @@ namespace Exiv2 {
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
|
||||
//! Lookup table to translate Sony camera settings quality values to readable labels
|
||||
extern const TagDetails minoltaSonyQualityCS[] = {
|
||||
extern const TagDetails minoltaSonyQualityCs[] = {
|
||||
{ 0, N_("RAW ") },
|
||||
{ 2, N_("CRAW ") },
|
||||
{ 16, N_("Extra Fine") },
|
||||
@ -2007,9 +2007,9 @@ namespace Exiv2 {
|
||||
{ 48, N_("Standard") }
|
||||
};
|
||||
|
||||
std::ostream& printMinoltaSonyQualityCS(std::ostream& os, const Value& value, const ExifData* metadata)
|
||||
std::ostream& printMinoltaSonyQualityCs(std::ostream& os, const Value& value, const ExifData* metadata)
|
||||
{
|
||||
return EXV_PRINT_TAG(minoltaSonyQualityCS)(os, value, metadata);
|
||||
return EXV_PRINT_TAG(minoltaSonyQualityCs)(os, value, metadata);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------------------------------
|
||||
@ -2116,4 +2116,13 @@ namespace Exiv2 {
|
||||
{
|
||||
return EXV_PRINT_TAG(minoltaSonyZoneMatching)(os, value, metadata);
|
||||
}
|
||||
|
||||
std::ostream& printMinoltaSonyFlashExposureComp(std::ostream& os, const Value& value, const ExifData*)
|
||||
{
|
||||
if (value.count() != 1 || value.typeId() != signedRational) {
|
||||
return os << "(" << value << ")";
|
||||
}
|
||||
return os << std::fixed << std::setprecision(2) << value.toFloat(0) << " EV";
|
||||
}
|
||||
|
||||
} // namespace Exiv2
|
||||
|
||||
@ -131,7 +131,7 @@ namespace Exiv2 {
|
||||
EXIV2API std::ostream& printMinoltaSonyPrioritySetupShutterRelease(std::ostream&, const Value&, const ExifData*);
|
||||
|
||||
//! Print Minolta/Sony Quality values to readable labels.
|
||||
EXIV2API std::ostream& printMinoltaSonyQualityCS(std::ostream&, const Value&, const ExifData*);
|
||||
EXIV2API std::ostream& printMinoltaSonyQualityCs(std::ostream&, const Value&, const ExifData*);
|
||||
|
||||
//! Print Minolta/Sony Rotation values to readable labels.
|
||||
EXIV2API std::ostream& printMinoltaSonyRotation(std::ostream&, const Value&, const ExifData*);
|
||||
@ -151,6 +151,9 @@ namespace Exiv2 {
|
||||
//! Print Minolta/Sony ZoneMatching values to readable labels.
|
||||
EXIV2API std::ostream& printMinoltaSonyZoneMatching(std::ostream&, const Value&, const ExifData*);
|
||||
|
||||
//! Print Minolta/Sony Flash Exposure Compensation values to readable labels.
|
||||
EXIV2API std::ostream& printMinoltaSonyFlashExposureComp(std::ostream&, const Value&, const ExifData*);
|
||||
|
||||
// TODO: Added shared methods here.
|
||||
|
||||
} // namespace Exiv2
|
||||
|
||||
@ -274,7 +274,7 @@ namespace Exiv2 {
|
||||
sony1IfdId, makerTags, unsignedLong, printMinoltaSonyImageQuality),
|
||||
TagInfo(0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"),
|
||||
N_("Flash exposure compensation in EV"),
|
||||
sony1IfdId, makerTags, signedRational, printValue),
|
||||
sony1IfdId, makerTags, signedRational, printMinoltaSonyFlashExposureComp),
|
||||
TagInfo(0x0105, "Teleconverter", N_("Teleconverter Model"),
|
||||
N_("Teleconverter Model"),
|
||||
sony1IfdId, makerTags, unsignedLong, printMinoltaSonyTeleconverterModel),
|
||||
@ -309,8 +309,8 @@ namespace Exiv2 {
|
||||
TagInfo(0x2000, "0x2000", "0x2000",
|
||||
N_("Unknown"),
|
||||
sony1IfdId, makerTags, undefined, printValue),
|
||||
TagInfo(0x2001, "ThumbnailImage", N_("Thumbnail Image"),
|
||||
N_("Jpeg Thumbnail Image"),
|
||||
TagInfo(0x2001, "PreviewImage", N_("Preview Image"),
|
||||
N_("JPEG preview image"),
|
||||
sony1IfdId, makerTags, undefined, printValue),
|
||||
TagInfo(0x2002, "0x2002", "0x2002",
|
||||
N_("Unknown"),
|
||||
@ -336,7 +336,7 @@ namespace Exiv2 {
|
||||
TagInfo(0x2009, "0x2009", "0x2009",
|
||||
N_("Unknown"),
|
||||
sony1IfdId, makerTags, unsignedShort, printValue),
|
||||
TagInfo(0x200A, "HDR", N_("HDR"),
|
||||
TagInfo(0x200A, "AutoHDR", N_("Auto HDR"),
|
||||
N_("High Definition Range Mode"),
|
||||
sony1IfdId, makerTags, unsignedLong, EXV_PRINT_TAG(sonyHDRMode)),
|
||||
// TODO : Implement Shot Info tags decoding.
|
||||
@ -382,8 +382,8 @@ namespace Exiv2 {
|
||||
TagInfo(0xB02B, "FullImageSize", N_("Full Image Size"),
|
||||
N_("Full Image Size"),
|
||||
sony1IfdId, makerTags, unsignedLong, printImageSize),
|
||||
TagInfo(0xB02C, "ThumbnailImageSize", N_("Thumbnail Image Size"),
|
||||
N_("Thumbnail Image Size"),
|
||||
TagInfo(0xB02C, "PreviewImageSize", N_("Preview Image Size"),
|
||||
N_("Preview image size"),
|
||||
sony1IfdId, makerTags, unsignedLong, printImageSize),
|
||||
TagInfo(0xB040, "Macro", N_("Macro"),
|
||||
N_("Macro"),
|
||||
@ -424,8 +424,8 @@ namespace Exiv2 {
|
||||
TagInfo(0xB052, "IntelligentAuto", N_("Intelligent Auto"),
|
||||
N_("Intelligent Auto"),
|
||||
sony1IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyIntelligentAuto)),
|
||||
TagInfo(0xB054, "WhiteBalance", N_("White Balance"),
|
||||
N_("White Balance"),
|
||||
TagInfo(0xB054, "WhiteBalance2", N_("White Balance 2"),
|
||||
N_("White balance 2"),
|
||||
sony1IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyWhiteBalance)),
|
||||
|
||||
// End of list marker
|
||||
@ -644,7 +644,7 @@ namespace Exiv2 {
|
||||
sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyAspectRatio)),
|
||||
TagInfo(0x0056, "Quality", N_("Quality"),
|
||||
N_("Quality"),
|
||||
sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyQualityCS),
|
||||
sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyQualityCs),
|
||||
TagInfo(0x0058, "ExposureLevelIncrements", N_("Exposure Level Increments"),
|
||||
N_("Exposure Level Increments"),
|
||||
sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyExposureLevelIncrements)),
|
||||
|
||||
@ -188,7 +188,7 @@ Exif.MinoltaCs5D.0x002b 0x002b Makernote Short 1
|
||||
Exif.MinoltaCs5D.0x002c 0x002c Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.0x002d 0x002d Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.0x002e 0x002e Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.0x002f 0x002f Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.ColorSpace 0x002f Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.Sharpness 0x0030 Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.Contrast 0x0031 Makernote Short 1 0
|
||||
Exif.MinoltaCs5D.Saturation 0x0032 Makernote Short 1 0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user