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) {
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;
// Exposure mode
@ -352,6 +364,18 @@ namespace Action {
if (!done) {
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;
// Metering mode
@ -373,6 +397,12 @@ namespace Action {
if (!done) {
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;
// Image quality setting (compression)
@ -403,16 +433,41 @@ namespace Action {
if (!done) {
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;
// Exif Resolution
printLabel("Exif Resolution");
long xdim = 0;
long ydim = 0;
md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
if (md != exifData.end()) xdim = md->toLong();
md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelYDimension"));
if (md != exifData.end()) ydim = md->toLong();
md = exifData.findKey(Exiv2::ExifKey("Exif.Image.ImageWidth"));
if (md == exifData.end()) {
md = exifData.findKey(Exiv2::ExifKey("Exif.Photo.PixelXDimension"));
}
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"));
}
if (md != exifData.end()) {
ydim = md->toLong();
}
if (xdim != 0 && ydim != 0) {
std::cout << xdim << " x " << ydim;
}
@ -446,6 +501,18 @@ namespace Action {
if (!done) {
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;
// Thumbnail

@ -56,9 +56,12 @@ namespace Exiv2 {
// TIFF Decoder table for special decoding requirements
const TiffDecoderInfo TiffMetadataDecoder::tiffDecoderInfo_[] = {
{ "*", Tag::all, Group::ignr, 0 }, // Do not decode tags with group == Group::ignr
{ "OLYMPUS", 0x0100, Group::olympmn, &TiffMetadataDecoder::decodeOlympThumb },
{ "NIKON", Tag::all, Group::sub0_0, 0 },
{ "NIKON", Tag::all, Group::sub0_1, &TiffMetadataDecoder::decodeToGroup<Group::ifd0> }
{ "OLYMPUS", 0x0100, Group::olympmn, &TiffMetadataDecoder::decodeOlympThumb },
{ "NIKON", 0x014a, Group::ifd0, 0 }, // Todo: Controversial, causes problems with Exiftool
{ "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

Loading…
Cancel
Save