[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a
Maximiliano Curia
maxy at moszumanska.debian.org
Thu Jul 13 17:41:47 UTC 2017
Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=839012f
The following commit has been merged in the master branch:
commit 839012f0373cdd3f789b837491411dd1398c4b77
Author: Andreas Huggel <ahuggel at gmx.net>
Date: Wed Jul 7 11:21:39 2010 +0000
Olympus makernote updates (Greg Mansfield)
---
src/olympusmn.cpp | 610 +++++++++++++++++++++++++++++++++++++++--------
src/olympusmn.hpp | 19 ++
test/data/exiv2-test.out | 50 ++--
3 files changed, 560 insertions(+), 119 deletions(-)
diff --git a/src/olympusmn.cpp b/src/olympusmn.cpp
index 30b550f..96801cd 100644
--- a/src/olympusmn.cpp
+++ b/src/olympusmn.cpp
@@ -24,6 +24,7 @@
Author(s): Will Stokes (wuz) <wstokes at gmail.com>
Andreas Huggel (ahu) <ahuggel at gmx.net>
Gilles Caulier (gc) <caulier dot gilles at gmail dot com>
+ Greg Mansfield <G.Mansfield at computer dot org>
History: 10-Mar-05, wuz: created
Credits: See header file.
*/
@@ -37,6 +38,8 @@ EXIV2_RCSID("@(#) $Id$")
#include "types.hpp"
#include "olympusmn.hpp"
#include "value.hpp"
+#include "image.hpp"
+#include "tags.hpp"
#include "i18n.h" // NLS support.
// + standard includes
@@ -85,6 +88,55 @@ namespace Exiv2 {
{ 2, N_("On (preset)") }
};
+ //! SceneMode, tag 0x403 and CameraSettings tag 0x509
+ extern const TagDetails olympusSceneMode[] = {
+ { 0, N_("Standard") },
+ { 6, N_("Auto") },
+ { 7, N_("Sport") },
+ { 8, N_("Portrait") },
+ { 9, N_("Landscape+Portrait") },
+ { 10, N_("Landscape") },
+ { 11, N_("Night Scene") },
+ { 12, N_("Self Portrait") },
+ { 13, N_("Panorama") },
+ { 14, N_("2 in 1") },
+ { 15, N_("Movie") },
+ { 16, N_("Landscape+Portrait") },
+ { 17, N_("Night+Portrait") },
+ { 18, N_("Indoor") },
+ { 19, N_("Fireworks") },
+ { 20, N_("Sunset") },
+ { 22, N_("Macro") },
+ { 23, N_("Super Macro") },
+ { 24, N_("Food") },
+ { 25, N_("Documents") },
+ { 26, N_("Museum") },
+ { 27, N_("Shoot & Select") },
+ { 28, N_("Beach & Snow") },
+ { 29, N_("Self Portrait+Timer") },
+ { 30, N_("Candle") },
+ { 31, N_("Available Light") },
+ { 32, N_("Behind Glass") },
+ { 33, N_("My Mode") },
+ { 34, N_("Pet") },
+ { 35, N_("Underwater Wide1") },
+ { 36, N_("Underwater Macro") },
+ { 37, N_("Shoot & Select1") },
+ { 38, N_("Shoot & Select2") },
+ { 39, N_("High Key") },
+ { 40, N_("Digital Image Stabilization") },
+ { 41, N_("Auction") },
+ { 42, N_("Beach") },
+ { 43, N_("Snow") },
+ { 44, N_("Underwater Wide2") },
+ { 45, N_("Low Key") },
+ { 46, N_("Children") },
+ { 47, N_("Vivid") },
+ { 48, N_("Nature Macro") },
+ { 49, N_("Underwater Snapshot") },
+ { 50, N_("Shooting Guide") }
+ };
+
//! FlashDevice, tag 0x1005
extern const TagDetails olympusFlashDevice[] = {
{ 0, N_("None") },
@@ -93,6 +145,12 @@ namespace Exiv2 {
{ 5, N_("Internal + External") }
};
+ //! FocusRange, tag 0x100a
+ extern const TagDetails olympusFocusRange[] = {
+ { 0, N_("Normal") },
+ { 1, N_("Macro") }
+ };
+
//! FocusMode, tag 0x100b
extern const TagDetails olympusFocusMode[] = {
{ 0, N_("Auto") },
@@ -124,10 +182,16 @@ namespace Exiv2 {
/* TODO:
add Minolta makenotes tags here (0x0000-0x0103). See Exiftool database.*/
+ TagInfo(0x0000, "0x0000", "0x0000",
+ N_("Unknown"),
+ olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0100, "ThumbnailImage", N_("Thumbnail Image"),
N_("Thumbnail image"),
olympusIfdId, makerTags, undefined, printValue),
+ TagInfo(0x0104, "BodyFirmwareVersion", N_("Body Firmware Version"),
+ N_("Body firmware version"),
+ olympusIfdId, makerTags, asciiString, printValue),
TagInfo(0x0200, "SpecialMode", N_("Special Mode"),
N_("Picture taking mode"),
olympusIfdId, makerTags, unsignedLong, print0x0200),
@@ -149,18 +213,15 @@ namespace Exiv2 {
TagInfo(0x0206, "LensDistortionParams", N_("Lens Distortion Parameters"),
N_("Lens distortion parameters"),
olympusIfdId, makerTags, signedShort, printValue),
- TagInfo(0x0207, "FirmwareVersion", N_("Firmware Version"),
- N_("Software firmware version"),
+ TagInfo(0x0207, "CameraType", N_("Camera Type"),
+ N_("Camera type"),
olympusIfdId, makerTags, asciiString, printValue),
TagInfo(0x0208, "PictureInfo", N_("Picture Info"),
N_("ASCII format data such as [PictureInfo]"),
olympusIfdId, makerTags, asciiString, printValue),
TagInfo(0x0209, "CameraID", N_("Camera ID"),
N_("Camera ID data"),
- olympusIfdId, makerTags, undefined, printValue),
-
- /* TODO: Epson Camera tags. See ExifTool database.
-
+ olympusIfdId, makerTags, asciiString, print0x0209),
TagInfo(0x020b, "ImageWidth", N_("Image Width"),
N_("Image width"),
olympusIfdId, makerTags, unsignedShort, printValue),
@@ -173,25 +234,26 @@ namespace Exiv2 {
TagInfo(0x0280, "PreviewImage", N_("Preview Image"),
N_("Preview image"),
olympusIfdId, makerTags, unsignedByte, printValue),
- */
-
TagInfo(0x0300, "PreCaptureFrames", N_("Pre Capture Frames"),
N_("Pre-capture frames"),
olympusIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x0301, "0x0301", "0x0301",
- N_("Unknown"),
+ TagInfo(0x0301, "WhiteBoard", N_("White Board"),
+ N_("White board"),
olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0302, "OneTouchWB", N_("One Touch WB"),
N_("One touch white balance"),
olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOneTouchWb)),
- TagInfo(0x0303, "0x0303", "0x0303",
- N_("Unknown"),
+ TagInfo(0x0303, "WhiteBalanceBracket", N_("White Balance Bracket"),
+ N_("White balance bracket"),
olympusIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x0304, "0x0304", "0x0304",
- N_("Unknown"),
+ TagInfo(0x0304, "WhiteBalanceBias", N_("White Balance Bias"),
+ N_("White balance bias"),
olympusIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x0404, "SerialNumber", N_("Serial Number"),
- N_("Serial number"),
+ TagInfo(0x0403, "SceneMode", N_("Scene Mode"),
+ N_("Scene mode"),
+ olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusSceneMode)),
+ TagInfo(0x0404, "Firmware", N_("Firmware"),
+ N_("Firmwarer"),
olympusIfdId, makerTags, asciiString, printValue),
TagInfo(0x0e00, "PrintIM", N_("Print IM"),
N_("PrintIM information"),
@@ -229,12 +291,12 @@ namespace Exiv2 {
TagInfo(0x1008, "LensTemperature", N_("Lens Temperature"),
N_("Lens temperature"),
olympusIfdId, makerTags, signedShort, printValue),
- TagInfo(0x1009, "0x1009", "0x1009",
- N_("Unknown"),
- olympusIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x100a, "0x100a", "0x100a",
- N_("Unknown"),
+ TagInfo(0x1009, "LightCondition", N_("Light Condition"),
+ N_("Light condition"),
olympusIfdId, makerTags, unsignedShort, printValue),
+ TagInfo(0x100a, "FocusRange", N_("Focus Range"),
+ N_("Focus range"),
+ olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFocusRange)),
TagInfo(0x100b, "FocusMode", N_("Focus Mode"),
N_("Focus mode"),
olympusIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFocusMode)),
@@ -277,8 +339,8 @@ namespace Exiv2 {
TagInfo(0x1018, "BlueBalance", N_("Blue Balance"),
N_("Blue balance"),
olympusIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x1019, "0x1019", "0x1019",
- N_("Unknown"),
+ TagInfo(0x1019, "ColorMatrixNumber", N_("Color Matrix Number"),
+ N_("Color matrix mumber"),
olympusIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x101a, "SerialNumber2", N_("Serial Number 2"),
N_("Serial number 2"),
@@ -415,6 +477,7 @@ namespace Exiv2 {
return tagInfo_;
}
+// Olympus CameraSettings Tags
//! ExposureMode, tag 0x0200
extern const TagDetails olympusExposureMode[] = {
{ 1, N_("Manual") },
@@ -424,7 +487,7 @@ namespace Exiv2 {
{ 5, N_("Program-shift") }
};
- //! MeteringMode
+ //! MeteringMode, tag 0x0202
extern const TagDetails olympusMeteringMode[] = {
{ 2, N_("Center-weighted average") },
{ 3, N_("Spot") },
@@ -434,14 +497,14 @@ namespace Exiv2 {
{ 1027, N_("Spot+Shadow control") }
};
- //! MacroMode
+ //! MacroMode, tag 0x0300
extern const TagDetails olympusMacroMode[] = {
{ 0, N_("Off") },
{ 1, N_("On") },
{ 2, N_("Super Macro") }
};
- //! FocusMode
+ //! FocusMode, tag 0x0301
extern const TagDetails olympusCsFocusMode[] = {
{ 0, N_("Single AF") },
{ 1, N_("Sequential shooting AF") },
@@ -450,19 +513,19 @@ namespace Exiv2 {
{ 10, N_("MF") }
};
- //! FocusProcess
+ //! FocusProcess, tag 0x0302
extern const TagDetails olympusFocusProcess[] = {
{ 0, N_("AF Not Used") },
{ 1, N_("AF Used") }
};
- //! AFSearch
+ //! AFSearch, tag 0x0303
extern const TagDetails olympusAFSearch[] = {
{ 0, N_("Not Ready") },
{ 1, N_("Ready") }
};
- //! FlashMode
+ //! FlashMode, tag 0x0400
extern const TagDetailsBitmask olympusFlashMode[] = {
{ 0x0000, N_("Off") },
{ 0x0001, N_("On") },
@@ -473,7 +536,32 @@ namespace Exiv2 {
{ 0x0020, N_("2nd Curtain") }
};
- //! OlympusCs WhiteBalance
+ //! FlashRemoteControl, tag 0x0403
+ extern const TagDetails olympusFlashRemoteControl[] = {
+ { 0x0, N_("Off") },
+ { 0x1, N_("Channel 1, Low") },
+ { 0x2, N_("Channel 2, Low") },
+ { 0x3, N_("Channel 3, Low") },
+ { 0x4, N_("Channel 4, Low") },
+ { 0x9, N_("Channel 1, Mid") },
+ { 0xa, N_("Channel 2, Mid") },
+ { 0xb, N_("Channel 3, Mid") },
+ { 0xc, N_("Channel 4, Mid") },
+ { 0x11, N_("Channel 1, High") },
+ { 0x12, N_("Channel 2, High") },
+ { 0x13, N_("Channel 3, High") },
+ { 0x14, N_("Channel 4, High") }
+ };
+
+ //! FlashControlMode, tag 0x0404
+ extern const TagDetails olympusFlashControlMode[] = {
+ { 0, N_("Off") },
+ { 3, N_("TTL") },
+ { 4, N_("Auto") },
+ { 5, N_("Manual") }
+ };
+
+ //! WhiteBalance, tag 0x0500
extern const TagDetails olympusWhiteBalance[] = {
{ 0, N_("Auto") },
{ 16, N_("7500K (Fine Weather with Shade)") },
@@ -494,7 +582,7 @@ namespace Exiv2 {
{ 514, N_("Custom WB 8000K") }
};
- //! ModifiedSaturation
+ //! ModifiedSaturation, tag 0x0504
extern const TagDetails olympusModifiedSaturation[] = {
{ 0, N_("Off") },
{ 1, N_("CM1 (Red Enhance)") },
@@ -503,70 +591,22 @@ namespace Exiv2 {
{ 4, N_("CM4 (Skin Tones)") }
};
- //! ColorSpace
+ //! ColorSpace, tag 0x0507
extern const TagDetails olympusColorSpace[] = {
{ 0, N_("sRGB") },
{ 1, N_("Adobe RGB") },
{ 2, N_("Pro Photo RGB") }
};
- //! SceneMode
- extern const TagDetails olympusSceneMode[] = {
- { 0, N_("Standard") },
- { 6, N_("Auto") },
- { 7, N_("Sport") },
- { 8, N_("Portrait") },
- { 9, N_("Landscape+Portrait") },
- { 10, N_("Landscape") },
- { 11, N_("Night Scene") },
- { 12, N_("Self Portrait") },
- { 13, N_("Panorama") },
- { 14, N_("2 in 1") },
- { 15, N_("Movie") },
- { 16, N_("Landscape+Portrait") },
- { 17, N_("Night+Portrait") },
- { 18, N_("Indoor") },
- { 19, N_("Fireworks") },
- { 20, N_("Sunset") },
- { 22, N_("Macro") },
- { 23, N_("Super Macro") },
- { 24, N_("Food") },
- { 25, N_("Documents") },
- { 26, N_("Museum") },
- { 27, N_("Shoot & Select") },
- { 28, N_("Beach & Snow") },
- { 29, N_("Self Portrait+Timer") },
- { 30, N_("Candle") },
- { 31, N_("Available Light") },
- { 32, N_("Behind Glass") },
- { 33, N_("My Mode") },
- { 34, N_("Pet") },
- { 35, N_("Underwater Wide1") },
- { 36, N_("Underwater Macro") },
- { 37, N_("Shoot & Select1") },
- { 38, N_("Shoot & Select2") },
- { 39, N_("High Key") },
- { 40, N_("Digital Image Stabilization") },
- { 41, N_("Auction") },
- { 42, N_("Beach") },
- { 43, N_("Snow") },
- { 44, N_("Underwater Wide2") },
- { 45, N_("Low Key") },
- { 46, N_("Children") },
- { 47, N_("Vivid") },
- { 48, N_("Nature Macro") },
- { 49, N_("Underwater Snapshot") },
- { 50, N_("Shooting Guide") }
- };
-
- //! NoiseReduction
+ //! NoiseReduction, tag 0x050a
extern const TagDetailsBitmask olympusNoiseReduction[] = {
{ 0x0001, N_("Noise Reduction") },
{ 0x0002, N_("Noise Filter") },
- { 0x0004, N_("Noise Filter (ISO Boost)") }
+ { 0x0004, N_("Noise Filter (ISO Boost)") },
+ { 0x0008, N_("Auto") }
};
- //! PictureMode
+ //! PictureMode, tag 0x0520
extern const TagDetails olympusPictureMode[] = {
{ 1, N_("Vivid") },
{ 2, N_("Natural") },
@@ -576,7 +616,7 @@ namespace Exiv2 {
{ 512, N_("Sepia") }
};
- //! PictureModeBWFilter
+ //! PictureModeBWFilter, tag 0x0525
extern const TagDetails olympusPictureModeBWFilter[] = {
{ 0, N_("n/a") },
{ 1, N_("Neutral") },
@@ -586,7 +626,7 @@ namespace Exiv2 {
{ 5, N_("Green") }
};
- //! PictureModeTone
+ //! PictureModeTone, tag 0x0526
extern const TagDetails olympusPictureModeTone[] = {
{ 0, N_("n/a") },
{ 1, N_("Neutral") },
@@ -596,7 +636,7 @@ namespace Exiv2 {
{ 5, N_("Green") }
};
- //! OlympusCs Quality
+ //! OlympusCs Quality, tag 0x0603
extern const TagDetails olympusCsQuality[] = {
{ 1, N_("SQ") },
{ 2, N_("HQ") },
@@ -604,6 +644,14 @@ namespace Exiv2 {
{ 4, N_("RAW") }
};
+ //! Olympus ImageStabilization, tag 0x0604
+ extern const TagDetails olympusImageStabilization[] = {
+ { 0, N_("Off") },
+ { 1, N_("On, Mode 1") },
+ { 2, N_("On, Mode 2") },
+ { 3, N_("On, Mode 3") }
+ };
+
const TagInfo OlympusMakerNote::tagInfoCs_[] = {
TagInfo(0x0000, "CameraSettingsVersion", N_("Camera Settings Version"), N_("Camera settings version"), olympusCsIfdId, makerTags, undefined, printExifVersion),
TagInfo(0x0100, "PreviewImageValid", N_("PreviewImage Valid"), N_("Preview image valid"), olympusCsIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(olympusNoYes)),
@@ -612,13 +660,20 @@ namespace Exiv2 {
TagInfo(0x0200, "ExposureMode", N_("Exposure Mode"), N_("Exposure mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusExposureMode)),
TagInfo(0x0201, "AELock", N_("AE Lock"), N_("Auto exposure lock"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x0202, "MeteringMode", N_("Metering Mode"), N_("Metering mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusMeteringMode)),
+ TagInfo(0x0203, "ExposureShift", N_("Exposure Shift"), N_("Exposure shift"), olympusCsIfdId, makerTags, signedRational, printValue),
TagInfo(0x0300, "MacroMode", N_("Macro Mode"), N_("Macro mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusMacroMode)),
- TagInfo(0x0301, "FocusMode", N_("Focus Mode"), N_("Focus mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusCsFocusMode)),
+ TagInfo(0x0301, "FocusMode", N_("Focus Mode"), N_("Focus mode"), olympusCsIfdId, makerTags, unsignedShort, printCs0x0301),
TagInfo(0x0302, "FocusProcess", N_("Focus Process"), N_("Focus process"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFocusProcess)),
TagInfo(0x0303, "AFSearch", N_("AF Search"), N_("AF search"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusAFSearch)),
TagInfo(0x0304, "AFAreas", N_("AF Areas"), N_("AF areas"), olympusCsIfdId, makerTags, unsignedLong, printValue),
+ TagInfo(0x0305, "AFPointSelected", N_("AFPointSelected"), N_("AFPointSelected"), olympusCsIfdId, makerTags, signedRational, printValue),
+ TagInfo(0x0307, "AFFineTuneAdj", N_("AF Fine Tune Adjust"), N_("AF fine tune adjust"), olympusCsIfdId, makerTags, signedShort, printValue),
TagInfo(0x0400, "FlashMode", N_("Flash Mode"), N_("Flash mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG_BITMASK(olympusFlashMode)),
TagInfo(0x0401, "FlashExposureComp", N_("Flash Exposure Compensation"), N_("Flash exposure compensation"), olympusCsIfdId, makerTags, signedRational, printValue),
+ TagInfo(0x0403, "FlashRemoteControl", N_("Flash Remote Control"), N_("Flash remote control"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFlashRemoteControl)),
+ TagInfo(0x0404, "FlashControlMode", N_("Flash Control Mode"), N_("Flash control mode"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFlashControlMode)),
+ TagInfo(0x0405, "FlashIntensity", N_("Flash Intensity"), N_("Flash intensity"), olympusCsIfdId, makerTags, signedRational, printValue),
+ TagInfo(0x0406, "ManualFlashStrength", N_("Manual Flash Strength"), N_("Manual flash strength"), olympusCsIfdId, makerTags, signedRational, printValue),
TagInfo(0x0500, "WhiteBalance", N_("White Balance 2"), N_("White balance 2"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusWhiteBalance)),
TagInfo(0x0501, "WhiteBalanceTemperature", N_("White Balance Temperature"), N_("White balance temperature"), olympusCsIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0502, "WhiteBalanceBracket", N_("White Balance Bracket"), N_("White balance bracket"), olympusCsIfdId, makerTags, signedShort, printValue),
@@ -641,12 +696,17 @@ namespace Exiv2 {
TagInfo(0x0525, "PictureModeBWFilter", N_("Picture Mode BW Filter"), N_("Picture mode BW filter"), olympusCsIfdId, makerTags, signedShort, EXV_PRINT_TAG(olympusPictureModeBWFilter)),
TagInfo(0x0526, "PictureModeTone", N_("Picture Mode Tone"), N_("Picture mode tone"), olympusCsIfdId, makerTags, signedShort, EXV_PRINT_TAG(olympusPictureModeTone)),
TagInfo(0x0527, "NoiseFilter", N_("Noise Filter"), N_("Noise filter"), olympusCsIfdId, makerTags, signedShort, print0x0527),
+ TagInfo(0x0529, "ArtFilter", N_("Art Filter"), N_("Art filter"), olympusCsIfdId, makerTags, unsignedShort, print0x0529),
+ TagInfo(0x052c, "MagicFilter", N_("Magic Filter"), N_("Magic filter"), olympusCsIfdId, makerTags, unsignedShort, print0x0529),
TagInfo(0x0600, "DriveMode", N_("Drive Mode"), N_("Drive mode"), olympusCsIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0601, "PanoramaMode", N_("Panorama Mode"), N_("Panorama mode"), olympusCsIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0603, "Quality", N_("Image Quality 2"), N_("Image quality 2"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusCsQuality)),
+ TagInfo(0x0604, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusImageStabilization)),
TagInfo(0x0900, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer pressure"), olympusCsIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0901, "ManometerReading", N_("Manometer Reading"), N_("Manometer reading"), olympusCsIfdId, makerTags, signedLong, printValue),
TagInfo(0x0902, "ExtendedWBDetect", N_("Extended WB Detect"), N_("Extended WB detect"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
+ TagInfo(0x0903, "LevelGaugeRoll", N_("Level Gauge Roll"), N_("Level gauge roll"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
+ TagInfo(0x0904, "LevelGaugePitch", N_("Level Gauge Pitch"), N_("Level gauge pitch"), olympusCsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusCsTag)", "(UnknownOlympusCsTag)", N_("Unknown OlympusCs tag"), olympusCsIfdId, makerTags, invalidTypeId, printValue)
};
@@ -682,8 +742,9 @@ namespace Exiv2 {
TagInfo(0x0102, "InternalSerialNumber", N_("Internal Serial Number"), N_("Internal serial number"), olympusEqIfdId, makerTags, asciiString, printValue),
TagInfo(0x0103, "FocalPlaneDiagonal", N_("Focal Plane Diagonal"), N_("Focal plane diagonal"), olympusEqIfdId, makerTags, unsignedRational, printValue),
TagInfo(0x0104, "BodyFirmwareVersion", N_("Body Firmware Version"), N_("Body firmware version"), olympusEqIfdId, makerTags, unsignedLong, printValue),
- TagInfo(0x0201, "LensType", N_("Lens Type"), N_("Lens type"), olympusEqIfdId, makerTags, unsignedByte, printValue),
+ TagInfo(0x0201, "LensType", N_("Lens Type"), N_("Lens type"), olympusEqIfdId, makerTags, unsignedByte, print0x0201),
TagInfo(0x0202, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), olympusEqIfdId, makerTags, asciiString, printValue),
+ TagInfo(0x0203, "LensModel", N_("Lens Model"), N_("Lens model"), olympusEqIfdId, makerTags, asciiString, printValue),
TagInfo(0x0204, "LensFirmwareVersion", N_("Lens Firmware Version"), N_("Lens firmware version"), olympusEqIfdId, makerTags, unsignedLong, printValue),
TagInfo(0x0205, "MaxApertureAtMinFocal", N_("Max Aperture At Min Focal"), N_("Max aperture at min focal"), olympusEqIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0206, "MaxApertureAtMaxFocal", N_("Max Aperture At Max Focal"), N_("Max aperture at max focal"), olympusEqIfdId, makerTags, unsignedShort, printValue),
@@ -691,7 +752,7 @@ namespace Exiv2 {
TagInfo(0x0208, "MaxFocalLength", N_("Max Focal Length"), N_("Max focal length"), olympusEqIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x020a, "MaxApertureAtCurrentFocal", N_("Max Aperture At Current Focal"), N_("Max aperture at current focal"), olympusEqIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x020b, "LensProperties", N_("Lens Properties"), N_("Lens properties"), olympusEqIfdId, makerTags, unsignedShort, printValue),
- TagInfo(0x0301, "Extender", N_("Extender"), N_("Extender"), olympusEqIfdId, makerTags, unsignedByte, printValue),
+ TagInfo(0x0301, "Extender", N_("Extender"), N_("Extender"), olympusEqIfdId, makerTags, unsignedByte, printEq0x0301),
TagInfo(0x0302, "ExtenderSerialNumber", N_("Extender Serial Number"), N_("Extender serial number"), olympusEqIfdId, makerTags, asciiString, printValue),
TagInfo(0x0303, "ExtenderModel", N_("Extender Model"), N_("Extender model"), olympusEqIfdId, makerTags, asciiString, printValue),
TagInfo(0x0304, "ExtenderFirmwareVersion", N_("Extender Firmware Version"), N_("Extender firmwareversion"), olympusEqIfdId, makerTags, unsignedLong, printValue),
@@ -846,6 +907,26 @@ namespace Exiv2 {
return tagInfoRd2_;
}
+ //! OlympusIp MultipleExposureMode, tag 0x101c
+ extern const TagDetails olympusIpMultipleExposureMode[] = {
+ { 0, N_("Off") },
+ { 2, N_("On (2 frames)") },
+ { 3, N_("On (3 frames)") }
+ };
+
+ //! OlympusIp olympusIpAspectRatio, tag 0x101c
+ extern const TagDetails olympusIpAspectRatio[] = {
+ { 1, N_("4:3") },
+ { 2, N_("3:2") },
+ { 3, N_("16:9") },
+ { 4, N_("6:6") },
+ { 5, N_("5:4") },
+ { 6, N_("7:6") },
+ { 7, N_("6:5") },
+ { 8, N_("7:5") },
+ { 9, N_("3:4") }
+ };
+
const TagInfo OlympusMakerNote::tagInfoIp_[] = {
TagInfo(0x0000, "ImageProcessingVersion", N_("Image Processing Version"), N_("Image processing version"), olympusIpIfdId, makerTags, undefined, printExifVersion),
TagInfo(0x0100, "WB_RBLevels", N_("WB RB Levels"), N_("WB RB levels"), olympusIpIfdId, makerTags, unsignedShort, printValue),
@@ -893,6 +974,9 @@ namespace Exiv2 {
TagInfo(0x1010, "NoiseReduction", N_("Noise Reduction"), N_("Noise reduction"), olympusIpIfdId, makerTags, unsignedShort, EXV_PRINT_TAG_BITMASK(olympusNoiseReduction)),
TagInfo(0x1011, "DistortionCorrection", N_("Distortion Correction"), N_("Distortion correction"), olympusIpIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x1012, "ShadingCompensation", N_("Shading Compensation"), N_("Shading compensation"), olympusIpIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
+ TagInfo(0x101c, "MultipleExposureMode", N_("Multiple Exposure Mode"), N_("Multiple exposure mode"), olympusIpIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusIpMultipleExposureMode)),
+ TagInfo(0x1112, "AspectRatio", N_("Aspect Ratio"), N_("Aspect ratio"), olympusIpIfdId, makerTags, unsignedByte, EXV_PRINT_TAG(olympusIpAspectRatio)),
+ TagInfo(0x1113, "AspectFrame", N_("Aspect Frame"), N_("Aspect frame"), olympusIpIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x1200, "FaceDetect", N_("Face Detect"), N_("Face detect"), olympusIpIfdId, makerTags, unsignedLong, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x1201, "FaceDetectArea", N_("Face Detect Area"), N_("Face detect area"), olympusIpIfdId, makerTags, signedShort, printValue),
// End of list marker
@@ -921,15 +1005,15 @@ namespace Exiv2 {
TagInfo(0x0303, "FocusStepInfinity", N_("Focus Step Infinity"), N_("Focus step infinity"), olympusFiIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0304, "FocusStepNear", N_("Focus Step Near"), N_("Focus step near"), olympusFiIfdId, makerTags, unsignedShort, printValue),
TagInfo(0x0305, "FocusDistance", N_("Focus Distance"), N_("Focus distance"), olympusFiIfdId, makerTags, unsignedRational, printValue),
- TagInfo(0x0308, "AFPoint", N_("AF Point"), N_("AF point"), olympusFiIfdId, makerTags, unsignedShort, printValue),
+ TagInfo(0x0308, "AFPoint", N_("AF Point"), N_("AF point"), olympusFiIfdId, makerTags, unsignedShort, print0x0308),
TagInfo(0x1201, "ExternalFlash", N_("External Flash"), N_("External flash"), olympusFiIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
TagInfo(0x1203, "ExternalFlashGuideNumber", N_("External Flash Guide Number"), N_("External flash guide number"), olympusFiIfdId, makerTags, signedRational, printValue),
TagInfo(0x1204, "ExternalFlashBounce", N_("External Flash Bounce"), N_("External flash bounce"), olympusFiIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusFiExternalFlashBounce)),
TagInfo(0x1205, "ExternalFlashZoom", N_("External Flash Zoom"), N_("External flash zoom"), olympusFiIfdId, makerTags, unsignedRational, printValue),
TagInfo(0x1208, "InternalFlash", N_("Internal Flash"), N_("Internal flash"), olympusFiIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(olympusOffOn)),
- TagInfo(0x1209, "ManualFlash", N_("Manual Flash"), N_("Manual flash"), olympusFiIfdId, makerTags, unsignedShort, printValue),
+ TagInfo(0x1209, "ManualFlash", N_("Manual Flash"), N_("Manual flash"), olympusFiIfdId, makerTags, unsignedShort, print0x1209),
TagInfo(0x1500, "SensorTemperature", N_("Sensor Temperature"), N_("Sensor temperature"), olympusFiIfdId, makerTags, signedShort, printValue),
- TagInfo(0x1600, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusFiIfdId, makerTags, undefined, printValue),
+ TagInfo(0x1600, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), olympusFiIfdId, makerTags, unsignedLong, printValue),
// End of list marker
TagInfo(0xffff, "(UnknownOlympusFiTag)", "(UnknownOlympusFiTag)", N_("Unknown OlympusFi tag"), olympusFiIfdId, makerTags, invalidTypeId, printValue)
};
@@ -1035,7 +1119,7 @@ namespace Exiv2 {
return os;
}
- // NoiseFilter
+ // Olympus CameraSettings tag 0x0527 NoiseFilter
std::ostream& OlympusMakerNote::print0x0527(std::ostream& os, const Value& value, const ExifData*)
{
if ( value.count() != 3
@@ -1144,4 +1228,342 @@ namespace Exiv2 {
return os;
} // OlympusMakerNote::print0x1015
+ //! OlympusEq LensType, tag 0x201
+ std::ostream& OlympusMakerNote::print0x0201(std::ostream& os, const Value& value, const ExifData*)
+ {
+ // 6 numbers: 0. Make, 1. Unknown, 2. Model, 3. Sub-model, 4-5. Unknown.
+ // Only the Make, Model and Sub-model are used to determine the lens model
+ static struct {
+ byte val[3];
+ const char *label;
+ } lensTypes[] = {
+ { { 0, 0, 0 }, N_("None") },
+ { { 0, 1, 0 }, N_("Olympus Zuiko Digital ED 50mm F2.0 Macro") },
+ { { 0, 1, 1 }, N_("Olympus Zuiko Digital 40-150mm F3.5-4.5") },
+ { { 0, 1, 16 }, N_("Olympus Zuiko Digital ED 14-42mm F3.5-5.6") },
+ { { 0, 2, 0 }, N_("Olympus Zuiko Digital ED 150mm F2.0") },
+ { { 0, 2, 16 }, N_("Olympus Zuiko Digital 17mm F2.8 Pancake") },
+ { { 0, 3, 0 }, N_("Olympus Zuiko Digital ED 300mm F2.8") },
+ { { 0, 5, 0 }, N_("Olympus Zuiko Digital 14-54mm F2.8-3.5") },
+ { { 0, 5, 1 }, N_("Olympus Zuiko Digital Pro ED 90-250mm F2.8") },
+ { { 0, 6, 0 }, N_("Olympus Zuiko Digital ED 50-200mm F2.8-3.5") },
+ { { 0, 6, 1 }, N_("Olympus Zuiko Digital ED 8mm F3.5 Fisheye") },
+ { { 0, 7, 0 }, N_("Olympus Zuiko Digital 11-22mm F2.8-3.5") },
+ { { 0, 7, 1 }, N_("Olympus Zuiko Digital 18-180mm F3.5-6.3") },
+ { { 0, 8, 1 }, N_("Olympus Zuiko Digital 70-300mm F4.0-5.6") },
+ { { 0, 21, 0 }, N_("Olympus Zuiko Digital ED 7-14mm F4.0") },
+ { { 0, 23, 0 }, N_("Olympus Zuiko Digital Pro ED 35-100mm F2.0") },
+ { { 0, 24, 0 }, N_("Olympus Zuiko Digital 14-45mm F3.5-5.6") },
+ { { 0, 32, 0 }, N_("Olympus Zuiko Digital 35mm F3.5 Macro") },
+ { { 0, 34, 0 }, N_("Olympus Zuiko Digital 17.5-45mm F3.5-5.6") },
+ { { 0, 35, 0 }, N_("Olympus Zuiko Digital ED 14-42mm F3.5-5.6") },
+ { { 0, 36, 0 }, N_("Olympus Zuiko Digital ED 40-150mm F4.0-5.6") },
+ { { 0, 48, 0 }, N_("Olympus Zuiko Digital ED 50-200mm F2.8-3.5 SWD") },
+ { { 0, 49, 0 }, N_("Olympus Zuiko Digital ED 12-60mm F2.8-4.0 SWD") },
+ { { 0, 50, 0 }, N_("Olympus Zuiko Digital ED 14-35mm F2.0 SWD") },
+ { { 0, 51, 0 }, N_("Olympus Zuiko Digital 25mm F2.8") },
+ { { 0, 52, 0 }, N_("Olympus Zuiko Digital ED 9-18mm F4.0-5.6") },
+ { { 0, 53, 0 }, N_("Olympus Zuiko Digital 14-54mm F2.8-3.5 II") },
+ { { 1, 1, 0 }, N_("Sigma 18-50mm F3.5-5.6") },
+ { { 1, 2, 0 }, N_("Sigma 55-200mm F4.0-5.6 DC") },
+ { { 1, 3, 0 }, N_("Sigma 18-125mm F3.5-5.6 DC") },
+ { { 1, 4, 0 }, N_("Sigma 18-125mm F3.5-5.6") },
+ { { 1, 5, 0 }, N_("Sigma 30mm F1.4") },
+ { { 1, 6, 0 }, N_("Sigma 50-500mm F4.0-6.3 EX DG APO HSM RF") },
+ { { 1, 7, 0 }, N_("Sigma 105mm F2.8 DG") },
+ { { 1, 8, 0 }, N_("Sigma 150mm F2.8 DG HSM") },
+ { { 1, 16, 0 }, N_("Sigma 24mm F1.8 EX DG Aspherical Macro") },
+ { { 1, 17, 0 }, N_("Sigma 135-400mm F4.5-5.6 DG ASP APO RF") },
+ { { 1, 18, 0 }, N_("Sigma 300-800mm F5.6 EX DG APO") },
+ { { 1, 20, 0 }, N_("Sigma 50-500mm F4.0-6.3 EX DG APO HSM RF") },
+ { { 1, 21, 0 }, N_("Sigma 10-20mm F4.0-5.6 EX DC HSM") },
+ { { 2, 1, 0 }, N_("Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph.") },
+ { { 2, 1, 16 }, N_("Lumix G Vario 14-45mm F3.5-5.6 Asph. Mega OIS") },
+ { { 2, 2, 0 }, N_("Leica D Summilux 25mm F1.4 Asph.") },
+ { { 2, 2, 16 }, N_("Lumix G Vario 45-200mm F4-5.6 Mega OIS") },
+ { { 2, 3, 1 }, N_("Leica D Vario Elmar 14-50mm F3.8-5.6 Asph.") },
+ { { 2, 3, 16 }, N_("Lumix G Vario HD 14-140mm F4-5.8 Asph. Mega OIS") },
+ { { 2, 4, 0 }, N_("Leica D Vario Elmar 14-150mm F3.5-5.6") },
+ { { 2, 4, 16 }, N_("Lumix G Vario 7-14mm F4 Asph.") },
+ { { 2, 5, 16 }, N_("Lumix G 20mm F1.7 Asph.") },
+ { { 3, 1, 0 }, N_("Leica D Vario Elmarit 14-50mm F2.8-3.5 Asph.") },
+ { { 3, 2, 0 }, N_("Leica D Summilux 25mm F1.4 Asph.") },
+ // End of list marker
+ { { 0xff, 0, 0 }, "" }
+ };
+
+ if (value.count() != 6 || value.typeId() != unsignedByte) {
+ return os << value;
+ }
+
+ byte v0 = (byte)value.toLong(0);
+ byte v2 = (byte)value.toLong(2);
+ byte v3 = (byte)value.toLong(3);
+
+ for (int i = 0; lensTypes[i].val[0] != 0xff; i++) {
+ if (lensTypes[i].val[0] == v0 &&
+ lensTypes[i].val[1] == v2 &&
+ lensTypes[i].val[2] == v3) {
+ return os << lensTypes[i].label;
+ }
+ }
+ return os << value;
+ } // OlympusMakerNote::print0x0201
+
+ // Olympus tag 0x0209 CameraID
+ std::ostream& OlympusMakerNote::print0x0209(std::ostream& os, const Value& value, const ExifData*)
+ {
+ if (value.typeId() != asciiString && value.typeId() != undefined) {
+ return os << value;
+ }
+
+ char ch;
+ int size = value.size();
+ for (int i = 0; i < size && ((ch = (char)value.toLong(i)) != '
--
exiv2 packaging
More information about the pkg-kde-commits
mailing list