Updated exiv2 summary output, minor fixes to Nikon NEF and Sony SR2 handling

v0.27.3
Andreas Huggel 19 years ago
parent 8f181e2270
commit 3a5066cf73

@ -340,6 +340,18 @@ namespace Action {
if (!done) { if (!done) {
done = 0 != printTag(exifData, "Exif.Nikon3.ISOSpeed"); done = 0 != printTag(exifData, "Exif.Nikon3.ISOSpeed");
} }
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsNew.ISOSpeed");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsOld.ISOSpeed");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs5D.ISOSpeed");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs7D.ISOSpeed");
}
std::cout << std::endl; std::cout << std::endl;
// Exposure mode // Exposure mode
@ -352,6 +364,18 @@ namespace Action {
if (!done) { if (!done) {
done = 0 != printTag(exifData, "Exif.CanonCs1.ExposureProgram"); done = 0 != printTag(exifData, "Exif.CanonCs1.ExposureProgram");
} }
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs7D.ExposureMode");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs5D.ExposureMode");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsNew.ExposureMode");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsOld.ExposureMode");
}
std::cout << std::endl; std::cout << std::endl;
// Metering mode // Metering mode
@ -373,6 +397,12 @@ namespace Action {
if (!done) { if (!done) {
done = 0 != printTag(exifData, "Exif.Panasonic.Macro"); done = 0 != printTag(exifData, "Exif.Panasonic.Macro");
} }
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsNew.MacroMode");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsOld.MacroMode");
}
std::cout << std::endl; std::cout << std::endl;
// Image quality setting (compression) // Image quality setting (compression)
@ -403,16 +433,41 @@ namespace Action {
if (!done) { if (!done) {
done = 0 != printTag(exifData, "Exif.Panasonic.Quality"); done = 0 != printTag(exifData, "Exif.Panasonic.Quality");
} }
if (!done) {
done = 0 != printTag(exifData, "Exif.Minolta.Quality");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsNew.Quality");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsOld.Quality");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs5D.Quality");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs7D.Quality");
}
std::cout << std::endl; std::cout << std::endl;
// Exif Resolution // Exif Resolution
printLabel("Exif Resolution"); printLabel("Exif Resolution");
long xdim = 0; long xdim = 0;
long ydim = 0; long ydim = 0;
md = exifData.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth"));
if (md == exifData.end()) {
md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension")); md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (md != exifData.end()) xdim = md->toLong(); }
if (md != exifData.end()) {
xdim = md->toLong();
}
md = exifData.findKey(Exiv2::ExifKey("Exif.Image.ImageLength"));
if (md == exifData.end()) {
md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension")); md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (md != exifData.end()) ydim = md->toLong(); }
if (md != exifData.end()) {
ydim = md->toLong();
}
if (xdim != 0 && ydim != 0) { if (xdim != 0 && ydim != 0) {
std::cout << xdim << " x " << ydim; std::cout << xdim << " x " << ydim;
} }
@ -446,6 +501,18 @@ namespace Action {
if (!done) { if (!done) {
done = 0 != printTag(exifData, "Exif.Panasonic.WhiteBalance"); done = 0 != printTag(exifData, "Exif.Panasonic.WhiteBalance");
} }
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs5D.WhiteBalance");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCs7D.WhiteBalance");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsNew.WhiteBalance");
}
if (!done) {
done = 0 != printTag(exifData, "Exif.MinoltaCsOld.WhiteBalance");
}
std::cout << std::endl; std::cout << std::endl;
// Thumbnail // Thumbnail

@ -57,8 +57,11 @@ namespace Exiv2 {
const TiffDecoderInfo TiffMetadataDecoder::tiffDecoderInfo_[] = { const TiffDecoderInfo TiffMetadataDecoder::tiffDecoderInfo_[] = {
{ "*", Tag::all, Group::ignr, 0 }, // Do not decode tags with group == Group::ignr { "*", Tag::all, Group::ignr, 0 }, // Do not decode tags with group == Group::ignr
{ "OLYMPUS", 0x0100, Group::olympmn, &TiffMetadataDecoder::decodeOlympThumb }, { "OLYMPUS", 0x0100, Group::olympmn, &TiffMetadataDecoder::decodeOlympThumb },
{ "NIKON", Tag::all, Group::sub0_0, 0 }, { "NIKON", 0x014a, Group::ifd0, 0 }, // Todo: Controversial, causes problems with Exiftool
{ "NIKON", Tag::all, Group::sub0_1, &TiffMetadataDecoder::decodeToGroup<Group::ifd0> } { "NIKON", Tag::all, Group::sub0_0, &TiffMetadataDecoder::decodeToGroup<Group::ifd0> },
{ "NIKON", Tag::all, Group::sub0_1, &TiffMetadataDecoder::decodeToGroup<Group::ifd0> },
{ "SONY", 0x014a, Group::ifd0, 0 }, // Todo: see above
{ "SONY", Tag::all, Group::sub0_0, &TiffMetadataDecoder::decodeToGroup<Group::ifd0> }
}; };
bool TiffDecoderInfo::operator==(const TiffDecoderInfo::Key& key) const bool TiffDecoderInfo::operator==(const TiffDecoderInfo::Key& key) const

Loading…
Cancel
Save