more constexpr

Signed-off-by: Rosen Penev <rosenp@gmail.com>
main
Rosen Penev 4 years ago committed by Luis Díaz Más
parent cdbee3c26c
commit 6da49fd29b

@ -76,84 +76,84 @@ namespace Exiv2 {
IIM4 standard (and not commonly used in images). IIM4 standard (and not commonly used in images).
*/ */
//@{ //@{
static const uint16_t invalidRecord = 0; static constexpr uint16_t invalidRecord = 0;
static const uint16_t envelope = 1; static constexpr uint16_t envelope = 1;
static const uint16_t application2 = 2; static constexpr uint16_t application2 = 2;
//@} //@}
//! @name Dataset identifiers //! @name Dataset identifiers
//@{ //@{
static const uint16_t ModelVersion = 0; static constexpr uint16_t ModelVersion = 0;
static const uint16_t Destination = 5; static constexpr uint16_t Destination = 5;
static const uint16_t FileFormat = 20; static constexpr uint16_t FileFormat = 20;
static const uint16_t FileVersion = 22; static constexpr uint16_t FileVersion = 22;
static const uint16_t ServiceId = 30; static constexpr uint16_t ServiceId = 30;
static const uint16_t EnvelopeNumber = 40; static constexpr uint16_t EnvelopeNumber = 40;
static const uint16_t ProductId = 50; static constexpr uint16_t ProductId = 50;
static const uint16_t EnvelopePriority = 60; static constexpr uint16_t EnvelopePriority = 60;
static const uint16_t DateSent = 70; static constexpr uint16_t DateSent = 70;
static const uint16_t TimeSent = 80; static constexpr uint16_t TimeSent = 80;
static const uint16_t CharacterSet = 90; static constexpr uint16_t CharacterSet = 90;
static const uint16_t UNO = 100; static constexpr uint16_t UNO = 100;
static const uint16_t ARMId = 120; static constexpr uint16_t ARMId = 120;
static const uint16_t ARMVersion = 122; static constexpr uint16_t ARMVersion = 122;
static const uint16_t RecordVersion = 0; static constexpr uint16_t RecordVersion = 0;
static const uint16_t ObjectType = 3; static constexpr uint16_t ObjectType = 3;
static const uint16_t ObjectAttribute = 4; static constexpr uint16_t ObjectAttribute = 4;
static const uint16_t ObjectName = 5; static constexpr uint16_t ObjectName = 5;
static const uint16_t EditStatus = 7; static constexpr uint16_t EditStatus = 7;
static const uint16_t EditorialUpdate = 8; static constexpr uint16_t EditorialUpdate = 8;
static const uint16_t Urgency = 10; static constexpr uint16_t Urgency = 10;
static const uint16_t Subject = 12; static constexpr uint16_t Subject = 12;
static const uint16_t Category = 15; static constexpr uint16_t Category = 15;
static const uint16_t SuppCategory = 20; static constexpr uint16_t SuppCategory = 20;
static const uint16_t FixtureId = 22; static constexpr uint16_t FixtureId = 22;
static const uint16_t Keywords = 25; static constexpr uint16_t Keywords = 25;
static const uint16_t LocationCode = 26; static constexpr uint16_t LocationCode = 26;
static const uint16_t LocationName = 27; static constexpr uint16_t LocationName = 27;
static const uint16_t ReleaseDate = 30; static constexpr uint16_t ReleaseDate = 30;
static const uint16_t ReleaseTime = 35; static constexpr uint16_t ReleaseTime = 35;
static const uint16_t ExpirationDate = 37; static constexpr uint16_t ExpirationDate = 37;
static const uint16_t ExpirationTime = 38; static constexpr uint16_t ExpirationTime = 38;
static const uint16_t SpecialInstructions = 40; static constexpr uint16_t SpecialInstructions = 40;
static const uint16_t ActionAdvised = 42; static constexpr uint16_t ActionAdvised = 42;
static const uint16_t ReferenceService = 45; static constexpr uint16_t ReferenceService = 45;
static const uint16_t ReferenceDate = 47; static constexpr uint16_t ReferenceDate = 47;
static const uint16_t ReferenceNumber = 50; static constexpr uint16_t ReferenceNumber = 50;
static const uint16_t DateCreated = 55; static constexpr uint16_t DateCreated = 55;
static const uint16_t TimeCreated = 60; static constexpr uint16_t TimeCreated = 60;
static const uint16_t DigitizationDate = 62; static constexpr uint16_t DigitizationDate = 62;
static const uint16_t DigitizationTime = 63; static constexpr uint16_t DigitizationTime = 63;
static const uint16_t Program = 65; static constexpr uint16_t Program = 65;
static const uint16_t ProgramVersion = 70; static constexpr uint16_t ProgramVersion = 70;
static const uint16_t ObjectCycle = 75; static constexpr uint16_t ObjectCycle = 75;
static const uint16_t Byline = 80; static constexpr uint16_t Byline = 80;
static const uint16_t BylineTitle = 85; static constexpr uint16_t BylineTitle = 85;
static const uint16_t City = 90; static constexpr uint16_t City = 90;
static const uint16_t SubLocation = 92; static constexpr uint16_t SubLocation = 92;
static const uint16_t ProvinceState = 95; static constexpr uint16_t ProvinceState = 95;
static const uint16_t CountryCode = 100; static constexpr uint16_t CountryCode = 100;
static const uint16_t CountryName = 101; static constexpr uint16_t CountryName = 101;
static const uint16_t TransmissionReference = 103; static constexpr uint16_t TransmissionReference = 103;
static const uint16_t Headline = 105; static constexpr uint16_t Headline = 105;
static const uint16_t Credit = 110; static constexpr uint16_t Credit = 110;
static const uint16_t Source = 115; static constexpr uint16_t Source = 115;
static const uint16_t Copyright = 116; static constexpr uint16_t Copyright = 116;
static const uint16_t Contact = 118; static constexpr uint16_t Contact = 118;
static const uint16_t Caption = 120; static constexpr uint16_t Caption = 120;
static const uint16_t Writer = 122; static constexpr uint16_t Writer = 122;
static const uint16_t RasterizedCaption = 125; static constexpr uint16_t RasterizedCaption = 125;
static const uint16_t ImageType = 130; static constexpr uint16_t ImageType = 130;
static const uint16_t ImageOrientation = 131; static constexpr uint16_t ImageOrientation = 131;
static const uint16_t Language = 135; static constexpr uint16_t Language = 135;
static const uint16_t AudioType = 150; static constexpr uint16_t AudioType = 150;
static const uint16_t AudioRate = 151; static constexpr uint16_t AudioRate = 151;
static const uint16_t AudioResolution = 152; static constexpr uint16_t AudioResolution = 152;
static const uint16_t AudioDuration = 153; static constexpr uint16_t AudioDuration = 153;
static const uint16_t AudioOutcue = 154; static constexpr uint16_t AudioOutcue = 154;
static const uint16_t PreviewFormat = 200; static constexpr uint16_t PreviewFormat = 200;
static const uint16_t PreviewVersion = 201; static constexpr uint16_t PreviewVersion = 201;
static const uint16_t Preview = 202; static constexpr uint16_t Preview = 202;
//@} //@}
private: private:

@ -72,18 +72,6 @@ namespace Exiv2 {
//! Tag information //! Tag information
struct EXIV2API TagInfo { struct EXIV2API TagInfo {
//! Constructor
TagInfo(
uint16_t tag,
const char* name,
const char* title,
const char* desc,
int ifdId,
int sectionId,
TypeId typeId,
int16_t count,
PrintFct printFct
);
uint16_t tag_; //!< Tag uint16_t tag_; //!< Tag
const char* name_; //!< One word tag label const char* name_; //!< One word tag label
const char* title_; //!< Tag title const char* title_; //!< Tag title

@ -79,6 +79,12 @@
#define EXV_WARN_UNUSED_RESULT #define EXV_WARN_UNUSED_RESULT
#endif #endif
#ifndef _MSC_VER
#define EXV_UNUSED [[gnu::unused]]
#else
#define EXV_UNUSED
#endif
// ***************************************************************************** // *****************************************************************************
// forward declarations // forward declarations
struct tm; struct tm;

@ -48,7 +48,7 @@ struct TiffTagInfo {
const char* name_; const char* name_;
}; };
extern const TiffTagInfo tiffTagInfo[] = { static constexpr TiffTagInfo tiffTagInfo[] = {
{ 0x10000, "none" }, { 0x10000, "none" },
{ 0x20000, "root" }, { 0x20000, "root" },
{ 0x30000, "next" }, { 0x30000, "next" },

File diff suppressed because it is too large Load Diff

@ -44,7 +44,7 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! RecordingMode, tag 0x0001 //! RecordingMode, tag 0x0001
extern const TagDetails casioRecordingMode[] = { constexpr TagDetails casioRecordingMode[] = {
{ 1, N_("Single Shutter") }, { 1, N_("Single Shutter") },
{ 2, N_("Panorama") }, { 2, N_("Panorama") },
{ 3, N_("Night Scene") }, { 3, N_("Night Scene") },
@ -57,14 +57,14 @@ namespace Exiv2 {
}; };
//! Quality, tag 0x0002 //! Quality, tag 0x0002
extern const TagDetails casioQuality[] = { constexpr TagDetails casioQuality[] = {
{ 1, N_("Economy") }, { 1, N_("Economy") },
{ 2, N_("Normal") }, { 2, N_("Normal") },
{ 3, N_("Fine") } { 3, N_("Fine") }
}; };
//! Focus Mode, tag 0x0003 //! Focus Mode, tag 0x0003
extern const TagDetails casioFocusMode[] = { constexpr TagDetails casioFocusMode[] = {
{ 2, N_("Macro") }, { 2, N_("Macro") },
{ 3, N_("Auto") }, { 3, N_("Auto") },
{ 4, N_("Manual") }, { 4, N_("Manual") },
@ -73,7 +73,7 @@ namespace Exiv2 {
}; };
//! FlashMode, tag 0x0004 //! FlashMode, tag 0x0004
extern const TagDetails casioFlashMode[] = { constexpr TagDetails casioFlashMode[] = {
{ 1, N_("Auto") }, { 1, N_("Auto") },
{ 2, N_("On") }, { 2, N_("On") },
{ 3, N_("Off") }, { 3, N_("Off") },
@ -82,7 +82,7 @@ namespace Exiv2 {
}; };
//! Flash intensity, tag 0x0005 //! Flash intensity, tag 0x0005
extern const TagDetails casioFlashIntensity[] = { constexpr TagDetails casioFlashIntensity[] = {
{ 11, N_("Weak") }, { 11, N_("Weak") },
{ 12, N_("Low") }, { 12, N_("Low") },
{ 13, N_("Normal") }, { 13, N_("Normal") },
@ -91,7 +91,7 @@ namespace Exiv2 {
}; };
//! white balance, tag 0x0007 //! white balance, tag 0x0007
extern const TagDetails casioWhiteBalance[] = { constexpr TagDetails casioWhiteBalance[] = {
{ 1, N_("Auto") }, { 1, N_("Auto") },
{ 2, N_("Tungsten") }, { 2, N_("Tungsten") },
{ 3, N_("Daylight") }, { 3, N_("Daylight") },
@ -101,7 +101,7 @@ namespace Exiv2 {
}; };
//! Flash intensity, tag 0x0005 //! Flash intensity, tag 0x0005
extern const TagDetails casioDigitalZoom[] = { constexpr TagDetails casioDigitalZoom[] = {
{ 0x10000, N_("Off") }, { 0x10000, N_("Off") },
{ 0x10001, N_("2x") }, { 0x10001, N_("2x") },
{ 0x13333, N_("1.2x") }, { 0x13333, N_("1.2x") },
@ -113,7 +113,7 @@ namespace Exiv2 {
}; };
//! Sharpness, tag 0x000b //! Sharpness, tag 0x000b
extern const TagDetails casioSharpness[] = { constexpr TagDetails casioSharpness[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Soft") }, { 1, N_("Soft") },
{ 2, N_("Hard") }, { 2, N_("Hard") },
@ -123,7 +123,7 @@ namespace Exiv2 {
}; };
//! Contrast, tag 0x000c //! Contrast, tag 0x000c
extern const TagDetails casioContrast[] = { constexpr TagDetails casioContrast[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("High") }, { 2, N_("High") },
@ -133,7 +133,7 @@ namespace Exiv2 {
}; };
//! Saturation, tag 0x000d //! Saturation, tag 0x000d
extern const TagDetails casioSaturation[] = { constexpr TagDetails casioSaturation[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("High") }, { 2, N_("High") },
@ -143,7 +143,7 @@ namespace Exiv2 {
}; };
//! Enhancement, tag 0x0016 //! Enhancement, tag 0x0016
extern const TagDetails casioEnhancement[] = { constexpr TagDetails casioEnhancement[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("Red") }, { 2, N_("Red") },
{ 3, N_("Green") }, { 3, N_("Green") },
@ -152,7 +152,7 @@ namespace Exiv2 {
}; };
//! Color filter, tag 0x0017 //! Color filter, tag 0x0017
extern const TagDetails casioColorFilter[] = { constexpr TagDetails casioColorFilter[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("Black & White") }, { 2, N_("Black & White") },
{ 3, N_("Sepia") }, { 3, N_("Sepia") },
@ -165,14 +165,14 @@ namespace Exiv2 {
}; };
//! flash intensity 2, tag 0x0019 //! flash intensity 2, tag 0x0019
extern const TagDetails casioFlashIntensity2[] = { constexpr TagDetails casioFlashIntensity2[] = {
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("Weak") }, { 2, N_("Weak") },
{ 3, N_("Strong") } { 3, N_("Strong") }
}; };
//! CCD Sensitivity intensity, tag 0x0020 //! CCD Sensitivity intensity, tag 0x0020
extern const TagDetails casioCCDSensitivity[] = { constexpr TagDetails casioCCDSensitivity[] = {
{ 64, N_("Normal") }, { 64, N_("Normal") },
{ 125, N_("+1.0") }, { 125, N_("+1.0") },
{ 250, N_("+2.0") }, { 250, N_("+2.0") },
@ -182,27 +182,27 @@ namespace Exiv2 {
}; };
// Casio MakerNote Tag Info // Casio MakerNote Tag Info
const TagInfo CasioMakerNote::tagInfo_[] = { constexpr TagInfo CasioMakerNote::tagInfo_[] = {
TagInfo(0x0001, "RecodingMode", N_("RecodingMode"), N_("Recording Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioRecordingMode)), {0x0001, "RecodingMode", N_("RecodingMode"), N_("Recording Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioRecordingMode)},
TagInfo(0x0002, "Quality", N_("Quality"), N_("Quality"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioQuality)), {0x0002, "Quality", N_("Quality"), N_("Quality"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioQuality)},
TagInfo(0x0003, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFocusMode)), {0x0003, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFocusMode)},
TagInfo(0x0004, "FlashMode", N_("Flash Mode"), N_("Flash Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashMode)), {0x0004, "FlashMode", N_("Flash Mode"), N_("Flash Mode"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashMode)},
TagInfo(0x0005, "FlashIntensity", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity)), {0x0005, "FlashIntensity", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity)},
TagInfo(0x0006, "ObjectDistance", N_("Object Distance"), N_("Distance to object"), casioId, makerTags, unsignedLong, -1, print0x0006), {0x0006, "ObjectDistance", N_("Object Distance"), N_("Distance to object"), casioId, makerTags, unsignedLong, -1, print0x0006},
TagInfo(0x0007, "WhiteBalance", N_("White Balance"), N_("White balance settings"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioWhiteBalance)), {0x0007, "WhiteBalance", N_("White Balance"), N_("White balance settings"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioWhiteBalance)},
TagInfo(0x000a, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), casioId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(casioDigitalZoom)), {0x000a, "DigitalZoom", N_("Digital Zoom"), N_("Digital zoom"), casioId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(casioDigitalZoom)},
TagInfo(0x000b, "Sharpness", N_("Sharpness"), N_("Sharpness"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSharpness)), {0x000b, "Sharpness", N_("Sharpness"), N_("Sharpness"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSharpness)},
TagInfo(0x000c, "Contrast", N_("Contrast"), N_("Contrast"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioContrast)), {0x000c, "Contrast", N_("Contrast"), N_("Contrast"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioContrast)},
TagInfo(0x000d, "Saturation", N_("Saturation"), N_("Saturation"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSaturation)), {0x000d, "Saturation", N_("Saturation"), N_("Saturation"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioSaturation)},
TagInfo(0x0014, "ISO", N_("ISO"), N_("ISO"), casioId, makerTags, unsignedShort, -1, printValue), {0x0014, "ISO", N_("ISO"), N_("ISO"), casioId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0015, "FirmwareDate", N_("Firmware date"), N_("Firmware date"), casioId, makerTags, asciiString, -1, print0x0015), {0x0015, "FirmwareDate", N_("Firmware date"), N_("Firmware date"), casioId, makerTags, asciiString, -1, print0x0015},
TagInfo(0x0016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioEnhancement)), {0x0016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioEnhancement)},
TagInfo(0x0017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioColorFilter)), {0x0017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioColorFilter)},
TagInfo(0x0018, "AFPoint", N_("AF Point"), N_("AF Point"), casioId, makerTags, unsignedShort, -1, printValue), {0x0018, "AFPoint", N_("AF Point"), N_("AF Point"), casioId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0019, "FlashIntensity2", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity2)), {0x0019, "FlashIntensity2", N_("Flash Intensity"), N_("Flash Intensity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioFlashIntensity2)},
TagInfo(0x0020, "CCDSensitivity", N_("CCDSensitivity"), N_("CCDSensitivity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioCCDSensitivity)), {0x0020, "CCDSensitivity", N_("CCDSensitivity"), N_("CCDSensitivity"), casioId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casioCCDSensitivity)},
TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casioId, makerTags, undefined, -1, printValue), {0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casioId, makerTags, undefined, -1, printValue},
TagInfo(0xffff, "(UnknownCasioMakerNoteTag)", "(UnknownCasioMakerNoteTag)", N_("Unknown CasioMakerNote tag"), casioId, makerTags, asciiString, -1, printValue) {0xffff, "(UnknownCasioMakerNoteTag)", "(UnknownCasioMakerNoteTag)", N_("Unknown CasioMakerNote tag"), casioId, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* CasioMakerNote::tagList() const TagInfo* CasioMakerNote::tagList()
@ -263,14 +263,14 @@ namespace Exiv2 {
//Casio Makernotes, Type 2 //Casio Makernotes, Type 2
//! Quality Mode, tag 0x0004 //! Quality Mode, tag 0x0004
extern const TagDetails casio2QualityMode[] = { constexpr TagDetails casio2QualityMode[] = {
{ 0, N_("Economy") }, { 0, N_("Economy") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("Fine") } { 2, N_("Fine") }
}; };
//! Image Size, tag 0x0009 //! Image Size, tag 0x0009
extern const TagDetails casio2ImageSize[] = { constexpr TagDetails casio2ImageSize[] = {
{ 0, "640x480" }, { 0, "640x480" },
{ 4, "1600x1200" }, { 4, "1600x1200" },
{ 5, "2048x1536" }, { 5, "2048x1536" },
@ -281,13 +281,13 @@ namespace Exiv2 {
}; };
//! Focus Mode, tag 0x000d //! Focus Mode, tag 0x000d
extern const TagDetails casio2FocusMode[] = { constexpr TagDetails casio2FocusMode[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Macro") } { 1, N_("Macro") }
}; };
//! ISO Speed, tag 0x0014 //! ISO Speed, tag 0x0014
extern const TagDetails casio2IsoSpeed[] = { constexpr TagDetails casio2IsoSpeed[] = {
{ 3, "50" }, { 3, "50" },
{ 4, "64" }, { 4, "64" },
{ 6, "100" }, { 6, "100" },
@ -295,7 +295,7 @@ namespace Exiv2 {
}; };
//! White Balance, tag 0x0019 //! White Balance, tag 0x0019
extern const TagDetails casio2WhiteBalance[] = { constexpr TagDetails casio2WhiteBalance[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Daylight") }, { 1, N_("Daylight") },
{ 2, N_("Shade") }, { 2, N_("Shade") },
@ -305,28 +305,28 @@ namespace Exiv2 {
}; };
//! Saturation, tag 0x001f //! Saturation, tag 0x001f
extern const TagDetails casio2Saturation[] = { constexpr TagDetails casio2Saturation[] = {
{ 0, N_("Low") }, { 0, N_("Low") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("High") } { 2, N_("High") }
}; };
//! Contrast, tag 0x0020 //! Contrast, tag 0x0020
extern const TagDetails casio2Contrast[] = { constexpr TagDetails casio2Contrast[] = {
{ 0, N_("Low") }, { 0, N_("Low") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("High") } { 2, N_("High") }
}; };
//! Sharpness, tag 0x0021 //! Sharpness, tag 0x0021
extern const TagDetails casio2Sharpness[] = { constexpr TagDetails casio2Sharpness[] = {
{ 0, N_("Soft") }, { 0, N_("Soft") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("Hard") } { 2, N_("Hard") }
}; };
//! White Balance2, tag 0x2012 //! White Balance2, tag 0x2012
extern const TagDetails casio2WhiteBalance2[] = { constexpr TagDetails casio2WhiteBalance2[] = {
{ 0, N_("Manual") }, { 0, N_("Manual") },
{ 1, N_("Daylight") }, { 1, N_("Daylight") },
{ 2, N_("Cloudy") }, { 2, N_("Cloudy") },
@ -339,7 +339,7 @@ namespace Exiv2 {
}; };
//! Release Mode, tag 0x3001 //! Release Mode, tag 0x3001
extern const TagDetails casio2ReleaseMode[] = { constexpr TagDetails casio2ReleaseMode[] = {
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 3, N_("AE Bracketing") }, { 3, N_("AE Bracketing") },
{ 11, N_("WB Bracketing") }, { 11, N_("WB Bracketing") },
@ -348,14 +348,14 @@ namespace Exiv2 {
}; };
//! Quality, tag 0x3002 //! Quality, tag 0x3002
extern const TagDetails casio2Quality[] = { constexpr TagDetails casio2Quality[] = {
{ 1, N_("Economy") }, { 1, N_("Economy") },
{ 2, N_("Normal") }, { 2, N_("Normal") },
{ 3, N_("Fine") } { 3, N_("Fine") }
}; };
//! Focus Mode 2, tag 0x3003 //! Focus Mode 2, tag 0x3003
extern const TagDetails casio2FocusMode2[] = { constexpr TagDetails casio2FocusMode2[] = {
{ 0, N_("Manual") }, { 0, N_("Manual") },
{ 1, N_("Focus Lock") }, { 1, N_("Focus Lock") },
{ 2, N_("Macro") }, { 2, N_("Macro") },
@ -366,7 +366,7 @@ namespace Exiv2 {
}; };
//! AutoISO, tag 0x3008 //! AutoISO, tag 0x3008
extern const TagDetails casio2AutoISO[] = { constexpr TagDetails casio2AutoISO[] = {
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Off") }, { 2, N_("Off") },
{ 7, N_("On (high sensitiviy)") }, { 7, N_("On (high sensitiviy)") },
@ -375,7 +375,7 @@ namespace Exiv2 {
}; };
//! AFMode, tag 0x3009 //! AFMode, tag 0x3009
extern const TagDetails casio2AFMode[] = { constexpr TagDetails casio2AFMode[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Spot") }, { 1, N_("Spot") },
{ 2, N_("Multi") }, { 2, N_("Multi") },
@ -385,14 +385,14 @@ namespace Exiv2 {
}; };
//! ColorMode, tag 0x3015 //! ColorMode, tag 0x3015
extern const TagDetails casio2ColorMode[] = { constexpr TagDetails casio2ColorMode[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 2, N_("Black & White") }, { 2, N_("Black & White") },
{ 3, N_("Sepia") } { 3, N_("Sepia") }
}; };
//! Enhancement, tag 0x3016 //! Enhancement, tag 0x3016
extern const TagDetails casio2Enhancement[] = { constexpr TagDetails casio2Enhancement[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Scenery") }, { 1, N_("Scenery") },
{ 3, N_("Green") }, { 3, N_("Green") },
@ -402,7 +402,7 @@ namespace Exiv2 {
}; };
//! Color Filter, tag 0x3017 //! Color Filter, tag 0x3017
extern const TagDetails casio2ColorFilter[] = { constexpr TagDetails casio2ColorFilter[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Blue") }, { 1, N_("Blue") },
{ 3, N_("Green") }, { 3, N_("Green") },
@ -413,7 +413,7 @@ namespace Exiv2 {
}; };
//! Art Mode, tag 0x301b //! Art Mode, tag 0x301b
extern const TagDetails casio2ArtMode[] = { constexpr TagDetails casio2ArtMode[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 8, N_("Silent Movie") }, { 8, N_("Silent Movie") },
{ 39, N_("HDR") }, { 39, N_("HDR") },
@ -430,7 +430,7 @@ namespace Exiv2 {
}; };
//! Lighting Mode, tag 0x302a //! Lighting Mode, tag 0x302a
extern const TagDetails casio2LightingMode[] = { constexpr TagDetails casio2LightingMode[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("High Dynamic Range") }, { 1, N_("High Dynamic Range") },
{ 5, N_("Shadow Enhance Low") }, { 5, N_("Shadow Enhance Low") },
@ -438,14 +438,14 @@ namespace Exiv2 {
}; };
//! Portrait Refiner, tag 0x302b //! Portrait Refiner, tag 0x302b
extern const TagDetails casio2PortraitRefiner[] = { constexpr TagDetails casio2PortraitRefiner[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("+1") }, { 1, N_("+1") },
{ 2, N_("+2") } { 2, N_("+2") }
}; };
//! Special Effect Setting, tag 0x3031 //! Special Effect Setting, tag 0x3031
extern const TagDetails casio2SpecialEffectSetting[] = { constexpr TagDetails casio2SpecialEffectSetting[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Makeup") }, { 1, N_("Makeup") },
{ 2, N_("Mist Removal") }, { 2, N_("Mist Removal") },
@ -454,7 +454,7 @@ namespace Exiv2 {
}; };
//! Drive Mode, tag 0x3103 //! Drive Mode, tag 0x3103
extern const TagDetails casio2DriveMode[] = { constexpr TagDetails casio2DriveMode[] = {
{ 0, N_("Single Shot") }, { 0, N_("Single Shot") },
{ 1, N_("Continuous Shooting") }, { 1, N_("Continuous Shooting") },
{ 2, N_("Continuous (2 fps)") }, { 2, N_("Continuous (2 fps)") },
@ -474,7 +474,7 @@ namespace Exiv2 {
}; };
//! Video Quality, tag 0x4003 //! Video Quality, tag 0x4003
extern const TagDetails casio2VideoQuality[] = { constexpr TagDetails casio2VideoQuality[] = {
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 3, N_("HD (720p)") }, { 3, N_("HD (720p)") },
{ 4, N_("Full HD (1080p)") }, { 4, N_("Full HD (1080p)") },
@ -482,57 +482,57 @@ namespace Exiv2 {
}; };
// Casio2 MakerNote Tag Info // Casio2 MakerNote Tag Info
const TagInfo Casio2MakerNote::tagInfo_[] = { constexpr TagInfo Casio2MakerNote::tagInfo_[] = {
TagInfo(0x0002, "PreviewImageSize", N_("Preview Image Size"), N_("Preview Image Size"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x0002, "PreviewImageSize", N_("Preview Image Size"), N_("Preview Image Size"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0003, "PreviewImageLength", N_("Preview Image Length"), N_("Preview Image Length"), casio2Id, makerTags, unsignedLong, -1, printValue), {0x0003, "PreviewImageLength", N_("Preview Image Length"), N_("Preview Image Length"), casio2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0004, "PreviewImageStart", N_("Preview Image Start"), N_("Preview Image Start"), casio2Id, makerTags, unsignedLong, -1, printValue), {0x0004, "PreviewImageStart", N_("Preview Image Start"), N_("Preview Image Start"), casio2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0008, "QualityMode", N_("Quality Mode"), N_("Quality Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2QualityMode)), {0x0008, "QualityMode", N_("Quality Mode"), N_("Quality Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2QualityMode)},
TagInfo(0x0009, "ImageSize", N_("Image Size"), N_("Image Size"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ImageSize)), {0x0009, "ImageSize", N_("Image Size"), N_("Image Size"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ImageSize)},
TagInfo(0x000d, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode)), {0x000d, "FocusMode", N_("Focus Mode"), N_("Focus Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode)},
TagInfo(0x0014, "ISOSpeed", N_("ISO Speed"), N_("ISO Speed"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2IsoSpeed)), {0x0014, "ISOSpeed", N_("ISO Speed"), N_("ISO Speed"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2IsoSpeed)},
TagInfo(0x0019, "WhiteBalance", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance)), {0x0019, "WhiteBalance", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance)},
TagInfo(0x001d, "FocalLength", N_("Focal Length"), N_("Focal Length"), casio2Id, makerTags, unsignedRational, -1, printValue), {0x001d, "FocalLength", N_("Focal Length"), N_("Focal Length"), casio2Id, makerTags, unsignedRational, -1, printValue},
TagInfo(0x001f, "Saturation", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Saturation)), {0x001f, "Saturation", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Saturation)},
TagInfo(0x0020, "Contrast", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Contrast)), {0x0020, "Contrast", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Contrast)},
TagInfo(0x0021, "Sharpness", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Sharpness)), {0x0021, "Sharpness", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Sharpness)},
TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casio2Id, makerTags, undefined, -1, printValue), {0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x2000, "PreviewImage", N_("Preview Image"), N_("Preview Image"), casio2Id, makerTags, undefined, -1, printValue), {0x2000, "PreviewImage", N_("Preview Image"), N_("Preview Image"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x2001, "FirmwareDate", N_("Firmware Date"), N_("Firmware Date"), casio2Id, makerTags, asciiString, -1, print0x2001), {0x2001, "FirmwareDate", N_("Firmware Date"), N_("Firmware Date"), casio2Id, makerTags, asciiString, -1, print0x2001},
TagInfo(0x2011, "WhiteBalanceBias", N_("White Balance Bias"), N_("White Balance Bias"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x2011, "WhiteBalanceBias", N_("White Balance Bias"), N_("White Balance Bias"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x2012, "WhiteBalance2", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance2)), {0x2012, "WhiteBalance2", N_("White Balance"), N_("White Balance Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2WhiteBalance2)},
TagInfo(0x2021, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x2021, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x2022, "ObjectDistance", N_("Object Distance"), N_("Object Distance"), casio2Id, makerTags, unsignedLong, -1, print0x2022), {0x2022, "ObjectDistance", N_("Object Distance"), N_("Object Distance"), casio2Id, makerTags, unsignedLong, -1, print0x2022},
TagInfo(0x2034, "FlashDistance", N_("Flash Distance"), N_("Flash Distance"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x2034, "FlashDistance", N_("Flash Distance"), N_("Flash Distance"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x2076, "SpecialEffectMode", N_("Special Effect Mode"), N_("Special Effect Mode"), casio2Id, makerTags, unsignedByte, -1, printValue), {0x2076, "SpecialEffectMode", N_("Special Effect Mode"), N_("Special Effect Mode"), casio2Id, makerTags, unsignedByte, -1, printValue},
TagInfo(0x2089, "FaceInfo", N_("Face Info"), N_("Face Info"), casio2Id, makerTags, undefined, -1, printValue), {0x2089, "FaceInfo", N_("Face Info"), N_("Face Info"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x211c, "FacesDetected", N_("Faces detected"), N_("Faces detected"), casio2Id, makerTags, unsignedByte, -1, printValue), {0x211c, "FacesDetected", N_("Faces detected"), N_("Faces detected"), casio2Id, makerTags, unsignedByte, -1, printValue},
TagInfo(0x3000, "RecordMode", N_("Record Mode"), N_("Record Mode"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x3000, "RecordMode", N_("Record Mode"), N_("Record Mode"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x3001, "ReleaseMode", N_("Release Mode"), N_("Release Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ReleaseMode)), {0x3001, "ReleaseMode", N_("Release Mode"), N_("Release Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ReleaseMode)},
TagInfo(0x3002, "Quality", N_("Quality"), N_("Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Quality)), {0x3002, "Quality", N_("Quality"), N_("Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Quality)},
TagInfo(0x3003, "FocusMode2", N_("Focus Mode2"), N_("Focus Mode2"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode2)), {0x3003, "FocusMode2", N_("Focus Mode2"), N_("Focus Mode2"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2FocusMode2)},
TagInfo(0x3006, "HometownCity", N_("Home town city"), N_("Home town city"), casio2Id, makerTags, asciiString, -1, printValue), {0x3006, "HometownCity", N_("Home town city"), N_("Home town city"), casio2Id, makerTags, asciiString, -1, printValue},
TagInfo(0x3007, "BestShotMode", N_("Best Shot Mode"), N_("Best Shot Mode"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x3007, "BestShotMode", N_("Best Shot Mode"), N_("Best Shot Mode"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x3008, "AutoISO", N_("Auto ISO"), N_("Auto ISO"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AutoISO)), {0x3008, "AutoISO", N_("Auto ISO"), N_("Auto ISO"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AutoISO)},
TagInfo(0x3009, "AFMode", N_("AF Mode"), N_("AF Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AFMode)), {0x3009, "AFMode", N_("AF Mode"), N_("AF Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2AFMode)},
TagInfo(0x3011, "Sharpness2", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, undefined, -1, printValue), {0x3011, "Sharpness2", N_("Sharpness"), N_("Sharpness"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x3012, "Contrast2", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, undefined, -1, printValue), {0x3012, "Contrast2", N_("Contrast"), N_("Contrast"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x3013, "Saturation2", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, undefined, -1, printValue), {0x3013, "Saturation2", N_("Saturation"), N_("Saturation"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x3014, "ISO", N_("ISO"), N_("ISO"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x3014, "ISO", N_("ISO"), N_("ISO"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x3015, "ColorMode", N_("Color Mode"), N_("Color Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorMode)), {0x3015, "ColorMode", N_("Color Mode"), N_("Color Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorMode)},
TagInfo(0x3016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Enhancement)), {0x3016, "Enhancement", N_("Enhancement"), N_("Enhancement"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2Enhancement)},
TagInfo(0x3017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorFilter)), {0x3017, "ColorFilter", N_("Color Filter"), N_("Color Filter"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ColorFilter)},
TagInfo(0x301b, "ArtMode", N_("Art Mode"), N_("Art Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ArtMode)), {0x301b, "ArtMode", N_("Art Mode"), N_("Art Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2ArtMode)},
TagInfo(0x301c, "SequenceNumber", N_("Sequence Number"), N_("Sequence Number"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x301c, "SequenceNumber", N_("Sequence Number"), N_("Sequence Number"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x3020, "ImageStabilization", N_("Image Stabilization"), N_("Image Stabilization"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x3020, "ImageStabilization", N_("Image Stabilization"), N_("Image Stabilization"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x302a, "LightingMode", N_("Lighting Mode"), N_("Lighting Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2LightingMode)), {0x302a, "LightingMode", N_("Lighting Mode"), N_("Lighting Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2LightingMode)},
TagInfo(0x302b, "PortraitRefiner", N_("Portrait Refiner"), N_("Portrait Refiner settings"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2PortraitRefiner)), {0x302b, "PortraitRefiner", N_("Portrait Refiner"), N_("Portrait Refiner settings"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2PortraitRefiner)},
TagInfo(0x3030, "SpecialEffectLevel", N_("Special Effect Level"), N_("Special Effect Level"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x3030, "SpecialEffectLevel", N_("Special Effect Level"), N_("Special Effect Level"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x3031, "SpecialEffectSetting", N_("Special Effect Setting"), N_("Special Effect Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2SpecialEffectSetting)), {0x3031, "SpecialEffectSetting", N_("Special Effect Setting"), N_("Special Effect Setting"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2SpecialEffectSetting)},
TagInfo(0x3103, "DriveMode", N_("Drive Mode"), N_("Drive Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2DriveMode)), {0x3103, "DriveMode", N_("Drive Mode"), N_("Drive Mode"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2DriveMode)},
TagInfo(0x310b, "ArtModeParameters", N_("Art Mode Parameters"), N_("Art Mode Parameters"), casio2Id, makerTags, undefined, -1, printValue), {0x310b, "ArtModeParameters", N_("Art Mode Parameters"), N_("Art Mode Parameters"), casio2Id, makerTags, undefined, -1, printValue},
TagInfo(0x4001, "CaptureFrameRate", N_("Capture Frame Rate"), N_("Capture Frame Rate"), casio2Id, makerTags, unsignedShort, -1, printValue), {0x4001, "CaptureFrameRate", N_("Capture Frame Rate"), N_("Capture Frame Rate"), casio2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x4003, "VideoQuality", N_("Video Quality"), N_("Video Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2VideoQuality)), {0x4003, "VideoQuality", N_("Video Quality"), N_("Video Quality"), casio2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(casio2VideoQuality)},
TagInfo(0xffff, "(UnknownCasio2MakerNoteTag)", "(UnknownCasio2MakerNoteTag)", N_("Unknown Casio2MakerNote tag"), casio2Id, makerTags, asciiString, -1, printValue) {0xffff, "(UnknownCasio2MakerNoteTag)", "(UnknownCasio2MakerNoteTag)", N_("Unknown Casio2MakerNote tag"), casio2Id, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* Casio2MakerNote::tagList() const TagInfo* Casio2MakerNote::tagList()

@ -54,7 +54,7 @@ namespace {
// local definitions // local definitions
namespace { namespace {
//! @cond IGNORE //! @cond IGNORE
const RotationMap::OmList RotationMap::omList_[] = { constexpr RotationMap::OmList RotationMap::omList_[] = {
{ 1, 0 }, { 1, 0 },
{ 3, 180 }, { 3, 180 },
{ 3, -180 }, { 3, -180 },

@ -46,13 +46,13 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! OffOn, multiple tags //! OffOn, multiple tags
extern const TagDetails fujiOffOn[] = { constexpr TagDetails fujiOffOn[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") } { 1, N_("On") }
}; };
//! Sharpness, tag 0x1001 //! Sharpness, tag 0x1001
extern const TagDetails fujiSharpness[] = { constexpr TagDetails fujiSharpness[] = {
{ 1, N_("Soft mode 1") }, { 1, N_("Soft mode 1") },
{ 2, N_("Soft mode 2") }, { 2, N_("Soft mode 2") },
{ 3, N_("Normal") }, { 3, N_("Normal") },
@ -61,7 +61,7 @@ namespace Exiv2 {
}; };
//! WhiteBalance, tag 0x1002 //! WhiteBalance, tag 0x1002
extern const TagDetails fujiWhiteBalance[] = { constexpr TagDetails fujiWhiteBalance[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 256, N_("Daylight") }, { 256, N_("Daylight") },
{ 512, N_("Cloudy") }, { 512, N_("Cloudy") },
@ -74,7 +74,7 @@ namespace Exiv2 {
}; };
//! Color, tag 0x1003 //! Color, tag 0x1003
extern const TagDetails fujiColor[] = { constexpr TagDetails fujiColor[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 256, N_("High") }, { 256, N_("High") },
{ 512, N_("Low") }, { 512, N_("Low") },
@ -87,14 +87,14 @@ namespace Exiv2 {
}; };
//! Tone, tag 0x1004 //! Tone, tag 0x1004
extern const TagDetails fujiTone[] = { constexpr TagDetails fujiTone[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 256, N_("High") }, { 256, N_("High") },
{ 512, N_("Low") } { 512, N_("Low") }
}; };
//! FlashMode, tag 0x1010 //! FlashMode, tag 0x1010
extern const TagDetails fujiFlashMode[] = { constexpr TagDetails fujiFlashMode[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Off") }, { 2, N_("Off") },
@ -105,13 +105,13 @@ namespace Exiv2 {
}; };
//! FocusMode, tag 0x1021 //! FocusMode, tag 0x1021
extern const TagDetails fujiFocusMode[] = { constexpr TagDetails fujiFocusMode[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Manual") } { 1, N_("Manual") }
}; };
//! PictureMode, tag 0x1031 //! PictureMode, tag 0x1031
extern const TagDetails fujiPictureMode[] = { constexpr TagDetails fujiPictureMode[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Portrait") }, { 1, N_("Portrait") },
{ 2, N_("Landscape") }, { 2, N_("Landscape") },
@ -137,7 +137,7 @@ namespace Exiv2 {
//! ShadowTone, tag 0x1040 //! ShadowTone, tag 0x1040
//! HighlightTone, tag 0x041 //! HighlightTone, tag 0x041
extern const TagDetails fujiSHTone[] = { constexpr TagDetails fujiSHTone[] = {
{ -64, N_("+4") }, { -64, N_("+4") },
{ -48, N_("+3") }, { -48, N_("+3") },
{ -32, N_("+2") }, { -32, N_("+2") },
@ -148,27 +148,27 @@ namespace Exiv2 {
}; };
//! Continuous, tag 0x1100 //! Continuous, tag 0x1100
extern const TagDetails fujiContinuous[] = { constexpr TagDetails fujiContinuous[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("No flash & flash") } { 2, N_("No flash & flash") }
}; };
//! FinePixColor, tag 0x1210 //! FinePixColor, tag 0x1210
extern const TagDetails fujiFinePixColor[] = { constexpr TagDetails fujiFinePixColor[] = {
{ 0, N_("Standard") }, { 0, N_("Standard") },
{ 16, N_("Chrome") }, { 16, N_("Chrome") },
{ 48, N_("Black & white") } { 48, N_("Black & white") }
}; };
//! DynamicRange, tag 0x1400 //! DynamicRange, tag 0x1400
extern const TagDetails fujiDynamicRange[] = { constexpr TagDetails fujiDynamicRange[] = {
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 3, N_("Wide") } { 3, N_("Wide") }
}; };
//! FilmMode, tag 0x1401 //! FilmMode, tag 0x1401
extern const TagDetails fujiFilmMode[] = { constexpr TagDetails fujiFilmMode[] = {
{ 0, N_("F0/Standard (Provia)") }, { 0, N_("F0/Standard (Provia)") },
{ 256, N_("F1/Studio Portrait") }, { 256, N_("F1/Studio Portrait") },
{ 272, N_("F1a/Studio Portrait Enhanced Saturation") }, { 272, N_("F1a/Studio Portrait Enhanced Saturation") },
@ -183,7 +183,7 @@ namespace Exiv2 {
}; };
//! DynamicRange, tag 0x1402 //! DynamicRange, tag 0x1402
extern const TagDetails fujiDynamicRangeSetting[] = { constexpr TagDetails fujiDynamicRangeSetting[] = {
{ 0, N_("Auto (100-400%)") }, { 0, N_("Auto (100-400%)") },
{ 1, N_("Raw") }, { 1, N_("Raw") },
{ 256, N_("Standard (100%)") }, { 256, N_("Standard (100%)") },
@ -193,7 +193,7 @@ namespace Exiv2 {
}; };
//! CropMode, tag 0x104d //! CropMode, tag 0x104d
extern const TagDetails fujiCropMode[] = { constexpr TagDetails fujiCropMode[] = {
{ 0, N_("None") }, { 0, N_("None") },
{ 1, N_("Full frame") }, { 1, N_("Full frame") },
{ 2, N_("Sports Finder Mode") }, { 2, N_("Sports Finder Mode") },
@ -201,190 +201,190 @@ namespace Exiv2 {
}; };
//! DRangePriority, tag 0x1443 //! DRangePriority, tag 0x1443
extern const TagDetails fujiDRangePriority[] = { constexpr TagDetails fujiDRangePriority[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Fixed") } { 1, N_("Fixed") }
}; };
//! DRangePriorityAuto, tag 0x1444 //! DRangePriorityAuto, tag 0x1444
extern const TagDetails fujiDRangePriorityAuto[] = { constexpr TagDetails fujiDRangePriorityAuto[] = {
{ 1, N_("Weak") }, { 1, N_("Weak") },
{ 2, N_("Strong") } { 2, N_("Strong") }
}; };
//! DRangePriorityFixed, tag 0x1445 //! DRangePriorityFixed, tag 0x1445
extern const TagDetails fujiDRangePriorityFixed[] = { constexpr TagDetails fujiDRangePriorityFixed[] = {
{ 1, N_("Weak") }, { 1, N_("Weak") },
{ 2, N_("Strong") } { 2, N_("Strong") }
}; };
// Fujifilm MakerNote Tag Info // Fujifilm MakerNote Tag Info
const TagInfo FujiMakerNote::tagInfo_[] = { constexpr TagInfo FujiMakerNote::tagInfo_[] = {
TagInfo(0x0000, "Version", N_("Version"), {0x0000, "Version", N_("Version"),
N_("Fujifilm Makernote version"), N_("Fujifilm Makernote version"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0x0010, "SerialNumber", N_("Serial Number"), {0x0010, "SerialNumber", N_("Serial Number"),
N_("This number is unique, and contains the date of manufacture, " N_("This number is unique, and contains the date of manufacture, "
"but is not the same as the number printed on the camera body."), "but is not the same as the number printed on the camera body."),
fujiId, makerTags, asciiString, -1, printValue), fujiId, makerTags, asciiString, -1, printValue},
TagInfo(0x1000, "Quality", N_("Quality"), {0x1000, "Quality", N_("Quality"),
N_("Image quality setting"), N_("Image quality setting"),
fujiId, makerTags, asciiString, -1, printValue), fujiId, makerTags, asciiString, -1, printValue},
TagInfo(0x1001, N_("Sharpness"), N_("Sharpness"), {0x1001, N_("Sharpness"), N_("Sharpness"),
N_("Sharpness setting"), N_("Sharpness setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiSharpness)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiSharpness)},
TagInfo(0x1002, "WhiteBalance", N_("White Balance"), {0x1002, "WhiteBalance", N_("White Balance"),
N_("White balance setting"), N_("White balance setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiWhiteBalance)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiWhiteBalance)},
TagInfo(0x1003, "Color", N_("Color"), {0x1003, "Color", N_("Color"),
N_("Chroma saturation setting"), N_("Chroma saturation setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiColor)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiColor)},
TagInfo(0x1004, "Tone", N_("Tone"), {0x1004, "Tone", N_("Tone"),
N_("Tone (contrast) setting"), N_("Tone (contrast) setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiTone)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiTone)},
TagInfo(0x1010, "FlashMode", N_("Flash Mode"), {0x1010, "FlashMode", N_("Flash Mode"),
N_("Flash firing mode setting"), N_("Flash firing mode setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFlashMode)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFlashMode)},
TagInfo(0x1011, "FlashStrength", N_("Flash Strength"), {0x1011, "FlashStrength", N_("Flash Strength"),
N_("Flash firing strength compensation setting"), N_("Flash firing strength compensation setting"),
fujiId, makerTags, signedRational, -1, printValue), fujiId, makerTags, signedRational, -1, printValue},
TagInfo(0x1020, "Macro", N_("Macro"), {0x1020, "Macro", N_("Macro"),
N_("Macro mode setting"), N_("Macro mode setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)},
TagInfo(0x1021, "FocusMode", N_("Focus Mode"), {0x1021, "FocusMode", N_("Focus Mode"),
N_("Focusing mode setting"), N_("Focusing mode setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFocusMode)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFocusMode)},
TagInfo(0x1022, "0x1022", "0x1022", {0x1022, "0x1022", "0x1022",
N_("Unknown"), N_("Unknown"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1030, "SlowSync", N_("Slow Sync"), {0x1030, "SlowSync", N_("Slow Sync"),
N_("Slow synchro mode setting"), N_("Slow synchro mode setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)},
TagInfo(0x1031, "PictureMode", N_("Picture Mode"), {0x1031, "PictureMode", N_("Picture Mode"),
N_("Picture mode setting"), N_("Picture mode setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiPictureMode)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiPictureMode)},
TagInfo(0x1032, "0x1032", "0x1032", {0x1032, "0x1032", "0x1032",
N_("Unknown"), N_("Unknown"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1040, "ShadowTone", N_("Shadow Tone"), {0x1040, "ShadowTone", N_("Shadow Tone"),
N_("Shadow tone"), N_("Shadow tone"),
fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)), fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)},
TagInfo(0x1041, "HighlightTone", N_("Highlight Tone"), {0x1041, "HighlightTone", N_("Highlight Tone"),
N_("Highlight tone"), N_("Highlight tone"),
fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)), fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)},
TagInfo(0x104d, "CropMode", N_("Crop Mode"), N_("Crop mode"), {0x104d, "CropMode", N_("Crop Mode"), N_("Crop mode"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiCropMode)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiCropMode)},
TagInfo(0x1100, "Continuous", N_("Continuous"), {0x1100, "Continuous", N_("Continuous"),
N_("Continuous shooting or auto bracketing setting"), N_("Continuous shooting or auto bracketing setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiContinuous)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiContinuous)},
TagInfo(0x1101, "SequenceNumber", N_("Sequence Number"), {0x1101, "SequenceNumber", N_("Sequence Number"),
N_("Sequence number"), N_("Sequence number"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1200, "0x1200", "0x1200", {0x1200, "0x1200", "0x1200",
N_("Unknown"), N_("Unknown"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1210, "FinePixColor", N_("FinePix Color"), {0x1210, "FinePixColor", N_("FinePix Color"),
N_("Fuji FinePix color setting"), N_("Fuji FinePix color setting"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFinePixColor)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFinePixColor)},
TagInfo(0x1300, "BlurWarning", N_("Blur Warning"), {0x1300, "BlurWarning", N_("Blur Warning"),
N_("Blur warning status"), N_("Blur warning status"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)},
TagInfo(0x1301, "FocusWarning", N_("Focus Warning"), {0x1301, "FocusWarning", N_("Focus Warning"),
N_("Auto Focus warning status"), N_("Auto Focus warning status"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)},
TagInfo(0x1302, "ExposureWarning", N_("Exposure Warning"), {0x1302, "ExposureWarning", N_("Exposure Warning"),
N_("Auto exposure warning status"), N_("Auto exposure warning status"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiOffOn)},
TagInfo(0x1400, "DynamicRange", N_("Dynamic Range"), {0x1400, "DynamicRange", N_("Dynamic Range"),
N_("Dynamic range"), N_("Dynamic range"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRange)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRange)},
TagInfo(0x1401, "FilmMode", N_("Film Mode"), {0x1401, "FilmMode", N_("Film Mode"),
N_("Film mode"), N_("Film mode"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFilmMode)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiFilmMode)},
TagInfo(0x1402, "DynamicRangeSetting", N_("Dynamic Range Setting"), {0x1402, "DynamicRangeSetting", N_("Dynamic Range Setting"),
N_("Dynamic range settings"), N_("Dynamic range settings"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRangeSetting)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDynamicRangeSetting)},
TagInfo(0x1403, "DevelopmentDynamicRange", N_("Development Dynamic Range"), {0x1403, "DevelopmentDynamicRange", N_("Development Dynamic Range"),
N_("Development dynamic range"), N_("Development dynamic range"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1404, "MinFocalLength", N_("Minimum Focal Length"), {0x1404, "MinFocalLength", N_("Minimum Focal Length"),
N_("Minimum focal length"), N_("Minimum focal length"),
fujiId, makerTags, unsignedRational, -1, printValue), fujiId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x1405, "MaxFocalLength", N_("Maximum Focal Length"), {0x1405, "MaxFocalLength", N_("Maximum Focal Length"),
N_("Maximum focal length"), N_("Maximum focal length"),
fujiId, makerTags, unsignedRational, -1, printValue), fujiId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x1406, "MaxApertureAtMinFocal", N_("Maximum Aperture at Minimum Focal"), {0x1406, "MaxApertureAtMinFocal", N_("Maximum Aperture at Minimum Focal"),
N_("Maximum aperture at minimum focal"), N_("Maximum aperture at minimum focal"),
fujiId, makerTags, unsignedRational, -1, printValue), fujiId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x1407, "MaxApertureAtMaxFocal", N_("Maximum Aperture at Maximum Focal"), {0x1407, "MaxApertureAtMaxFocal", N_("Maximum Aperture at Maximum Focal"),
N_("Maximum aperture at maximum focal"), N_("Maximum aperture at maximum focal"),
fujiId, makerTags, unsignedRational, -1, printValue), fujiId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x1431, "Rating", N_("Rating"), {0x1431, "Rating", N_("Rating"),
N_("Rating"), N_("Rating"),
fujiId, makerTags, unsignedLong, -1, printValue), fujiId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x1443, "DRangePriority", N_("D Range Priority"), {0x1443, "DRangePriority", N_("D Range Priority"),
N_("Dynamic range priority"), N_("Dynamic range priority"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriority)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriority)},
TagInfo(0x1444, "DRangePriorityFixed", N_("D Range Priority Fixed"), {0x1444, "DRangePriorityFixed", N_("D Range Priority Fixed"),
N_("Dynamic range priority fixed"), N_("Dynamic range priority fixed"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityFixed)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityFixed)},
TagInfo(0x1445, "DRangePriorityAuto", N_("D Range Priority Auto"), {0x1445, "DRangePriorityAuto", N_("D Range Priority Auto"),
N_("Dynamic range priority auto"), N_("Dynamic range priority auto"),
fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityAuto)), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityAuto)},
TagInfo(0x8000, "FileSource", N_("File Source"), {0x8000, "FileSource", N_("File Source"),
N_("File source"), N_("File source"),
fujiId, makerTags, asciiString, -1, printValue), fujiId, makerTags, asciiString, -1, printValue},
TagInfo(0x8002, "OrderNumber", N_("Order Number"), {0x8002, "OrderNumber", N_("Order Number"),
N_("Order number"), N_("Order number"),
fujiId, makerTags, unsignedLong, -1, printValue), fujiId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x8003, "FrameNumber", N_("Frame Number"), {0x8003, "FrameNumber", N_("Frame Number"),
N_("Frame number"), N_("Frame number"),
fujiId, makerTags, unsignedShort, -1, printValue), fujiId, makerTags, unsignedShort, -1, printValue},
// #1402 // #1402
TagInfo(0xf000, "FujiIFD", N_("FujiIFD"), {0xf000, "FujiIFD", N_("FujiIFD"),
N_("Fujifilm IFD"), N_("Fujifilm IFD"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf001, "RawImageFullWidth", N_("Raw Image Full Width"), {0xf001, "RawImageFullWidth", N_("Raw Image Full Width"),
N_("Raw Image Full Width"), N_("Raw Image Full Width"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf002, "RawImageFullHeight", N_("Raw Image Full Height"), {0xf002, "RawImageFullHeight", N_("Raw Image Full Height"),
N_("Raw Image Full Height"), N_("Raw Image Full Height"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf003, "BitsPerSample", N_("Bits Per Sample"), {0xf003, "BitsPerSample", N_("Bits Per Sample"),
N_("Bits Per Sample"), N_("Bits Per Sample"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf007, "StripOffsets", N_("Strip Offsets"), {0xf007, "StripOffsets", N_("Strip Offsets"),
N_("Strip Offsets"), N_("Strip Offsets"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf008, "StripByteCounts", N_("Strip Byte Counts"), {0xf008, "StripByteCounts", N_("Strip Byte Counts"),
N_("Strip Byte Counts"), N_("Strip Byte Counts"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00a, "BlackLevel", N_("Black Level"), {0xf00a, "BlackLevel", N_("Black Level"),
N_("Black Level"), N_("Black Level"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00b, "GeometricDistortionParams", N_("Geometric Distortion Params"), {0xf00b, "GeometricDistortionParams", N_("Geometric Distortion Params"),
N_("Geometric Distortion Params"), N_("Geometric Distortion Params"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00c, "WB_GRBLevelsStandard", N_("WB GRB Levels Standard"), {0xf00c, "WB_GRBLevelsStandard", N_("WB GRB Levels Standard"),
N_("WB GRB Levels Standard"), N_("WB GRB Levels Standard"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00d, "WB_GRBLevelsAuto", N_("WB GRB Levels Auto"), {0xf00d, "WB_GRBLevelsAuto", N_("WB GRB Levels Auto"),
N_("WB GRB Levels Auto"), N_("WB GRB Levels Auto"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00e, "WB_GRBLevels", N_("WB GRB Levels"), {0xf00e, "WB_GRBLevels", N_("WB GRB Levels"),
N_("WB GRB Levels"), N_("WB GRB Levels"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf00f, "ChromaticAberrationParams", N_("Chromatic Aberration Params"), {0xf00f, "ChromaticAberrationParams", N_("Chromatic Aberration Params"),
N_("Chromatic Aberration Params"), N_("Chromatic Aberration Params"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
TagInfo(0xf010, "VignettingParams", N_("Vignetting Params"), {0xf010, "VignettingParams", N_("Vignetting Params"),
N_("Vignetting Params"), N_("Vignetting Params"),
fujiId, makerTags, undefined, -1, printValue), fujiId, makerTags, undefined, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownFujiMakerNoteTag)", "(UnknownFujiMakerNoteTag)", {0xffff, "(UnknownFujiMakerNoteTag)", "(UnknownFujiMakerNoteTag)",
N_("Unknown FujiMakerNote tag"), N_("Unknown FujiMakerNote tag"),
fujiId, makerTags, asciiString, -1, printValue) fujiId, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* FujiMakerNote::tagList() const TagInfo* FujiMakerNote::tagList()

@ -1081,7 +1081,7 @@ namespace Exiv2 {
#define NA ((uint32_t)-1) #define NA ((uint32_t)-1)
//! Nikon binary array version lookup table //! Nikon binary array version lookup table
extern const NikonArrayIdx nikonArrayIdx[] = { constexpr NikonArrayIdx nikonArrayIdx[] = {
// NikonSi // NikonSi
{ 0x0091, "0208", 0, 0, 4 }, // D80 { 0x0091, "0208", 0, 0, 4 }, // D80
{ 0x0091, "0209", 0, 1, 4 }, // D40 { 0x0091, "0209", 0, 1, 4 }, // D40

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -38,7 +38,7 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! Quality, tag 0x0001 //! Quality, tag 0x0001
extern const TagDetails panasonicQuality[] = { constexpr TagDetails panasonicQuality[] = {
{ 1, N_("TIFF") }, { 1, N_("TIFF") },
{ 2, N_("High") }, { 2, N_("High") },
{ 3, N_("Normal") }, { 3, N_("Normal") },
@ -50,7 +50,7 @@ namespace Exiv2 {
}; };
//! WhiteBalance, tag 0x0003 //! WhiteBalance, tag 0x0003
extern const TagDetails panasonicWhiteBalance[] = { constexpr TagDetails panasonicWhiteBalance[] = {
{ 1, N_("Auto") }, { 1, N_("Auto") },
{ 2, N_("Daylight") }, { 2, N_("Daylight") },
{ 3, N_("Cloudy") }, { 3, N_("Cloudy") },
@ -64,7 +64,7 @@ namespace Exiv2 {
}; };
//! FocusMode, tag 0x0007 //! FocusMode, tag 0x0007
extern const TagDetails panasonicFocusMode[] = { constexpr TagDetails panasonicFocusMode[] = {
{ 1, N_("Auto") }, { 1, N_("Auto") },
{ 2, N_("Manual") }, { 2, N_("Manual") },
{ 4, N_("Auto, focus button") }, { 4, N_("Auto, focus button") },
@ -75,7 +75,7 @@ namespace Exiv2 {
}; };
//! ImageStabilizer, tag 0x001a //! ImageStabilizer, tag 0x001a
extern const TagDetails panasonicImageStabilizer[] = { constexpr TagDetails panasonicImageStabilizer[] = {
{ 2, N_("On, Mode 1") }, { 2, N_("On, Mode 1") },
{ 3, N_("Off") }, { 3, N_("Off") },
{ 4, N_("On, Mode 2") }, { 4, N_("On, Mode 2") },
@ -84,7 +84,7 @@ namespace Exiv2 {
}; };
//! Macro, tag 0x001c //! Macro, tag 0x001c
extern const TagDetails panasonicMacro[] = { constexpr TagDetails panasonicMacro[] = {
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Off") }, { 2, N_("Off") },
{ 257, N_("Tele-macro") }, { 257, N_("Tele-macro") },
@ -92,7 +92,7 @@ namespace Exiv2 {
}; };
//! ShootingMode, tag 0x001f and SceneMode, tag 0x8001 //! ShootingMode, tag 0x001f and SceneMode, tag 0x8001
extern const TagDetails panasonicShootingMode[] = { constexpr TagDetails panasonicShootingMode[] = {
{ 0, N_("Off") }, // only SceneMode { 0, N_("Off") }, // only SceneMode
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("Portrait") }, { 2, N_("Portrait") },
@ -173,14 +173,14 @@ namespace Exiv2 {
}; };
//! Audio, tag 0x0020 //! Audio, tag 0x0020
extern const TagDetails panasonicAudio[] = { constexpr TagDetails panasonicAudio[] = {
{ 1, N_("Yes") }, { 1, N_("Yes") },
{ 2, N_("No") }, { 2, N_("No") },
{ 3, N_("Stereo") } { 3, N_("Stereo") }
}; };
//! ColorEffect, tag 0x0028 //! ColorEffect, tag 0x0028
extern const TagDetails panasonicColorEffect[] = { constexpr TagDetails panasonicColorEffect[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("Warm") }, { 2, N_("Warm") },
{ 3, N_("Cool") }, { 3, N_("Cool") },
@ -190,14 +190,14 @@ namespace Exiv2 {
}; };
//! BustMode, tag 0x002a //! BustMode, tag 0x002a
extern const TagDetails panasonicBurstMode[] = { constexpr TagDetails panasonicBurstMode[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Low/High quality") }, { 1, N_("Low/High quality") },
{ 2, N_("Infinite") } { 2, N_("Infinite") }
}; };
//! Contrast, tag 0x002c //! Contrast, tag 0x002c
extern const TagDetails panasonicContrast[] = { constexpr TagDetails panasonicContrast[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("High") }, { 2, N_("High") },
@ -210,7 +210,7 @@ namespace Exiv2 {
}; };
//! NoiseReduction, tag 0x002d //! NoiseReduction, tag 0x002d
extern const TagDetails panasonicNoiseReduction[] = { constexpr TagDetails panasonicNoiseReduction[] = {
{ 0, N_("Standard") }, { 0, N_("Standard") },
{ 1, N_("Low (-1)") }, { 1, N_("Low (-1)") },
{ 2, N_("High (+1)") }, { 2, N_("High (+1)") },
@ -219,7 +219,7 @@ namespace Exiv2 {
}; };
//! SelfTimer, tag 0x002e //! SelfTimer, tag 0x002e
extern const TagDetails panasonicSelfTimer[] = { constexpr TagDetails panasonicSelfTimer[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, "10 s" }, { 2, "10 s" },
{ 3, "2 s" }, { 3, "2 s" },
@ -227,7 +227,7 @@ namespace Exiv2 {
}; };
//! Rotation, tag 0x0030 //! Rotation, tag 0x0030
extern const TagDetails panasonicRotation[] = { constexpr TagDetails panasonicRotation[] = {
{ 1, N_("Horizontal (normal)") }, { 1, N_("Horizontal (normal)") },
{ 3, N_("Rotate 180") }, { 3, N_("Rotate 180") },
{ 6, N_("Rotate 90 CW") }, { 6, N_("Rotate 90 CW") },
@ -235,7 +235,7 @@ namespace Exiv2 {
}; };
//! AFAssistLamp, tag 0x0031 //! AFAssistLamp, tag 0x0031
extern const TagDetails panasonicAFAssistLamp[] = { constexpr TagDetails panasonicAFAssistLamp[] = {
{ 1, N_("Fired") }, { 1, N_("Fired") },
{ 2, N_("Enabled but Not Used") }, { 2, N_("Enabled but Not Used") },
{ 3, N_("Disabled but Required") }, { 3, N_("Disabled but Required") },
@ -243,20 +243,20 @@ namespace Exiv2 {
}; };
//! ColorMode, tag 0x0032 //! ColorMode, tag 0x0032
extern const TagDetails panasonicColorMode[] = { constexpr TagDetails panasonicColorMode[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Natural") }, { 1, N_("Natural") },
{ 2, N_("Vivid") } { 2, N_("Vivid") }
}; };
//! OpticalZoomMode, tag 0x0034 //! OpticalZoomMode, tag 0x0034
extern const TagDetails panasonicOpticalZoomMode[] = { constexpr TagDetails panasonicOpticalZoomMode[] = {
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 2, N_("EX optics") } { 2, N_("EX optics") }
}; };
//! ConversionLens, tag 0x0035 //! ConversionLens, tag 0x0035
extern const TagDetails panasonicConversionLens[] = { constexpr TagDetails panasonicConversionLens[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("Wide") }, { 2, N_("Wide") },
{ 3, N_("Telephoto") }, { 3, N_("Telephoto") },
@ -265,19 +265,19 @@ namespace Exiv2 {
}; };
//! WorldTimeLocation, tag 0x003a //! WorldTimeLocation, tag 0x003a
extern const TagDetails panasonicWorldTimeLocation[] = { constexpr TagDetails panasonicWorldTimeLocation[] = {
{ 1, N_("Home") }, { 1, N_("Home") },
{ 2, N_("Destination") } { 2, N_("Destination") }
}; };
//! TextStamp, tag 0x003b, 0x003e, 000x8008 and 0x8009 //! TextStamp, tag 0x003b, 0x003e, 000x8008 and 0x8009
extern const TagDetails panasonicTextStamp[] = { constexpr TagDetails panasonicTextStamp[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("On") } { 2, N_("On") }
}; };
//! FilmMode, tag 0x0042 //! FilmMode, tag 0x0042
extern const TagDetails panasonicFilmMode[] = { constexpr TagDetails panasonicFilmMode[] = {
{ 1, N_("Standard (color)") }, { 1, N_("Standard (color)") },
{ 2, N_("Dynamic (color)") }, { 2, N_("Dynamic (color)") },
{ 3, N_("Nature (color)") }, { 3, N_("Nature (color)") },
@ -290,7 +290,7 @@ namespace Exiv2 {
}; };
//! Bracket Settings, tag 0x0045 //! Bracket Settings, tag 0x0045
extern const TagDetails panasonicBracketSettings[] = { constexpr TagDetails panasonicBracketSettings[] = {
{ 0, N_("No Bracket") }, { 0, N_("No Bracket") },
{ 1, N_("3 images, Sequence 0/-/+") }, { 1, N_("3 images, Sequence 0/-/+") },
{ 2, N_("3 images, Sequence -/0/+") }, { 2, N_("3 images, Sequence -/0/+") },
@ -301,20 +301,20 @@ namespace Exiv2 {
}; };
//! Flash curtain, tag 0x0048 //! Flash curtain, tag 0x0048
extern const TagDetails panasonicFlashCurtain[] = { constexpr TagDetails panasonicFlashCurtain[] = {
{ 0, N_("n/a") }, { 0, N_("n/a") },
{ 1, N_("1st") }, { 1, N_("1st") },
{ 2, N_("2nd") } { 2, N_("2nd") }
}; };
//! Long Shutter Noise Reduction, tag 0x0049 //! Long Shutter Noise Reduction, tag 0x0049
extern const TagDetails panasonicLongShutterNoiseReduction[] = { constexpr TagDetails panasonicLongShutterNoiseReduction[] = {
{ 1, N_("Off") }, { 1, N_("Off") },
{ 2, N_("On") } { 2, N_("On") }
}; };
//! Intelligent exposure, tag 0x005d //! Intelligent exposure, tag 0x005d
extern const TagDetails panasonicIntelligentExposure[] = { constexpr TagDetails panasonicIntelligentExposure[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("Standard") }, { 2, N_("Standard") },
@ -322,13 +322,13 @@ namespace Exiv2 {
}; };
//! Flash warning, tag 0x0062 //! Flash warning, tag 0x0062
extern const TagDetails panasonicFlashWarning[] = { constexpr TagDetails panasonicFlashWarning[] = {
{ 0, N_("No") }, { 0, N_("No") },
{ 1, N_("Yes (flash required but disabled") } { 1, N_("Yes (flash required but disabled") }
}; };
//! Intelligent resolution, tag 0x0070 //! Intelligent resolution, tag 0x0070
extern const TagDetails panasonicIntelligentResolution[] = { constexpr TagDetails panasonicIntelligentResolution[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("Standard") }, { 2, N_("Standard") },
@ -337,7 +337,7 @@ namespace Exiv2 {
}; };
//! Intelligent D-Range, tag 0x0079 //! Intelligent D-Range, tag 0x0079
extern const TagDetails panasonicIntelligentDRange[] = { constexpr TagDetails panasonicIntelligentDRange[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Low") }, { 1, N_("Low") },
{ 2, N_("Standard") }, { 2, N_("Standard") },
@ -345,13 +345,13 @@ namespace Exiv2 {
}; };
//! Clear Retouch, tag 0x007c //! Clear Retouch, tag 0x007c
extern const TagDetails panasonicClearRetouch[] = { constexpr TagDetails panasonicClearRetouch[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") } { 1, N_("On") }
}; };
//! Photo Style, tag 0x0089 //! Photo Style, tag 0x0089
extern const TagDetails panasonicPhotoStyle[] = { constexpr TagDetails panasonicPhotoStyle[] = {
{ 0, N_("NoAuto") }, { 0, N_("NoAuto") },
{ 1, N_("Standard or Custom") }, { 1, N_("Standard or Custom") },
{ 2, N_("Vivid") }, { 2, N_("Vivid") },
@ -362,13 +362,13 @@ namespace Exiv2 {
}; };
//! Shading compensation, tag 0x008a //! Shading compensation, tag 0x008a
extern const TagDetails panasonicShadingCompensation[] = { constexpr TagDetails panasonicShadingCompensation[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") } { 1, N_("On") }
}; };
//! Camera orientation, tag 0x008f //! Camera orientation, tag 0x008f
extern const TagDetails panasonicCameraOrientation[] = { constexpr TagDetails panasonicCameraOrientation[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Rotate CW") }, { 1, N_("Rotate CW") },
{ 2, N_("Rotate 180") }, { 2, N_("Rotate 180") },
@ -378,7 +378,7 @@ namespace Exiv2 {
}; };
//! Sweep panorama direction, tag 0x0093 //! Sweep panorama direction, tag 0x0093
extern const TagDetails panasonicSweepPanoramaDirection[] = { constexpr TagDetails panasonicSweepPanoramaDirection[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Left to Right") }, { 1, N_("Left to Right") },
{ 2, N_("Right to Left") }, { 2, N_("Right to Left") },
@ -387,14 +387,14 @@ namespace Exiv2 {
}; };
//! Timer recording, tag 0x0096 //! Timer recording, tag 0x0096
extern const TagDetails panasonicTimerRecording[] = { constexpr TagDetails panasonicTimerRecording[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Time Lapse") }, { 1, N_("Time Lapse") },
{ 2, N_("Stop-Motion Animation") } { 2, N_("Stop-Motion Animation") }
}; };
//! HDR, tag 0x009e //! HDR, tag 0x009e
extern const TagDetails panasonicHDR[] = { constexpr TagDetails panasonicHDR[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 100, N_("1 EV") }, { 100, N_("1 EV") },
{ 200, N_("2 EV") }, { 200, N_("2 EV") },
@ -405,130 +405,130 @@ namespace Exiv2 {
}; };
//! Shutter Type, tag 0x009f //! Shutter Type, tag 0x009f
extern const TagDetails panasonicShutterType[] = { constexpr TagDetails panasonicShutterType[] = {
{ 0, N_("Mechanical") }, { 0, N_("Mechanical") },
{ 1, N_("Electronic") }, { 1, N_("Electronic") },
{ 2, N_("Hybrid") } { 2, N_("Hybrid") }
}; };
//! Touch AE, tag 0x00ab //! Touch AE, tag 0x00ab
extern const TagDetails panasonicTouchAE[] = { constexpr TagDetails panasonicTouchAE[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") } { 1, N_("On") }
}; };
//! Flash Fired, tag 0x8007 //! Flash Fired, tag 0x8007
extern const TagDetails panasonicFlashFired[] = { constexpr TagDetails panasonicFlashFired[] = {
{ 1, N_("No") }, { 1, N_("No") },
{ 2, N_("Yes") } { 2, N_("Yes") }
}; };
// Panasonic MakerNote Tag Info // Panasonic MakerNote Tag Info
const TagInfo PanasonicMakerNote::tagInfo_[] = { constexpr TagInfo PanasonicMakerNote::tagInfo_[] = {
TagInfo(0x0001, "Quality", N_("Quality"), N_("Image Quality"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicQuality)), {0x0001, "Quality", N_("Quality"), N_("Image Quality"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicQuality)},
TagInfo(0x0002, "FirmwareVersion", N_("Firmware Version"), N_("Firmware version"), panasonicId, makerTags, undefined, -1, printValue), {0x0002, "FirmwareVersion", N_("Firmware Version"), N_("Firmware version"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x0003, "WhiteBalance", N_("White Balance"), N_("White balance setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWhiteBalance)), {0x0003, "WhiteBalance", N_("White Balance"), N_("White balance setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWhiteBalance)},
TagInfo(0x0004, "0x0004", "0x0004", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0004, "0x0004", "0x0004", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFocusMode)), {0x0007, "FocusMode", N_("Focus Mode"), N_("Focus mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFocusMode)},
TagInfo(0x000f, "AFMode", N_("AF Mode"), N_("AF mode"), panasonicId, makerTags, unsignedByte, -1, print0x000f), {0x000f, "AFMode", N_("AF Mode"), N_("AF mode"), panasonicId, makerTags, unsignedByte, -1, print0x000f},
TagInfo(0x001a, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicImageStabilizer)), {0x001a, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicImageStabilizer)},
TagInfo(0x001c, "Macro", N_("Macro"), N_("Macro mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicMacro)), {0x001c, "Macro", N_("Macro"), N_("Macro mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicMacro)},
TagInfo(0x001f, "ShootingMode", N_("Shooting Mode"), N_("Shooting mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)), {0x001f, "ShootingMode", N_("Shooting Mode"), N_("Shooting mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)},
TagInfo(0x0020, "Audio", N_("Audio"), N_("Audio"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAudio)), {0x0020, "Audio", N_("Audio"), N_("Audio"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAudio)},
TagInfo(0x0021, "DataDump", N_("Data Dump"), N_("Data dump"), panasonicId, makerTags, undefined, -1, printValue), {0x0021, "DataDump", N_("Data Dump"), N_("Data dump"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x0022, "0x0022", "0x0022", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0022, "0x0022", "0x0022", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0023, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance adjustment"), panasonicId, makerTags, signedShort, -1, print0x0023), {0x0023, "WhiteBalanceBias", N_("White Balance Bias"), N_("White balance adjustment"), panasonicId, makerTags, signedShort, -1, print0x0023},
TagInfo(0x0024, "FlashBias", N_("FlashBias"), N_("Flash bias"), panasonicId, makerTags, signedShort, -1, printValue), {0x0024, "FlashBias", N_("FlashBias"), N_("Flash bias"), panasonicId, makerTags, signedShort, -1, printValue},
TagInfo(0x0025, "InternalSerialNumber", N_("Internal Serial Number"), N_("This number is unique, and contains the date of manufacture, but is not the same as the number printed on the camera body."), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0025, "InternalSerialNumber", N_("Internal Serial Number"), N_("This number is unique, and contains the date of manufacture, but is not the same as the number printed on the camera body."), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0026, "ExifVersion", "Exif Version", N_("Exif version"), panasonicId, makerTags, undefined, -1, printExifVersion), {0x0026, "ExifVersion", "Exif Version", N_("Exif version"), panasonicId, makerTags, undefined, -1, printExifVersion},
TagInfo(0x0027, "0x0027", "0x0027", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0027, "0x0027", "0x0027", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0028, "ColorEffect", N_("Color Effect"), N_("Color effect"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorEffect)), {0x0028, "ColorEffect", N_("Color Effect"), N_("Color effect"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorEffect)},
TagInfo(0x0029, "TimeSincePowerOn", "Time since Power On", N_("Time in 1/100 s from when the camera was powered on to when the image is written to memory card"), panasonicId, makerTags, unsignedLong, -1, print0x0029), {0x0029, "TimeSincePowerOn", "Time since Power On", N_("Time in 1/100 s from when the camera was powered on to when the image is written to memory card"), panasonicId, makerTags, unsignedLong, -1, print0x0029},
TagInfo(0x002a, "BurstMode", N_("Burst Mode"), N_("Burst mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBurstMode)), {0x002a, "BurstMode", N_("Burst Mode"), N_("Burst mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBurstMode)},
TagInfo(0x002b, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), panasonicId, makerTags, unsignedLong, -1, printValue), {0x002b, "SequenceNumber", N_("Sequence Number"), N_("Sequence number"), panasonicId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x002c, "Contrast", N_("Contrast"), N_("Contrast setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicContrast)), {0x002c, "Contrast", N_("Contrast"), N_("Contrast setting"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicContrast)},
TagInfo(0x002d, "NoiseReduction", N_("NoiseReduction"), N_("Noise reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicNoiseReduction)), {0x002d, "NoiseReduction", N_("NoiseReduction"), N_("Noise reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicNoiseReduction)},
TagInfo(0x002e, "SelfTimer", N_("Self Timer"), N_("Self timer"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicSelfTimer)), {0x002e, "SelfTimer", N_("Self Timer"), N_("Self timer"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicSelfTimer)},
TagInfo(0x002f, "0x002f", "0x002f", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x002f, "0x002f", "0x002f", N_("Unknown"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0030, "Rotation", N_("Rotation"), N_("Rotation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicRotation)), {0x0030, "Rotation", N_("Rotation"), N_("Rotation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicRotation)},
TagInfo(0x0031, "AFAssistLamp", N_("AF Assist Lamp"), N_("AF Assist Lamp"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAFAssistLamp)), {0x0031, "AFAssistLamp", N_("AF Assist Lamp"), N_("AF Assist Lamp"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicAFAssistLamp)},
TagInfo(0x0032, "ColorMode", N_("Color Mode"), N_("Color mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorMode)), {0x0032, "ColorMode", N_("Color Mode"), N_("Color mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicColorMode)},
TagInfo(0x0033, "BabyAge1", N_("Baby Age 1"), N_("Baby (or pet) age 1"), panasonicId, makerTags, asciiString, -1, print0x0033), {0x0033, "BabyAge1", N_("Baby Age 1"), N_("Baby (or pet) age 1"), panasonicId, makerTags, asciiString, -1, print0x0033},
TagInfo(0x0034, "OpticalZoomMode", N_("Optical Zoom Mode"), N_("Optical zoom mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicOpticalZoomMode)), {0x0034, "OpticalZoomMode", N_("Optical Zoom Mode"), N_("Optical zoom mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicOpticalZoomMode)},
TagInfo(0x0035, "ConversionLens", N_("Conversion Lens"), N_("Conversion lens"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicConversionLens)), {0x0035, "ConversionLens", N_("Conversion Lens"), N_("Conversion lens"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicConversionLens)},
TagInfo(0x0036, "TravelDay", N_("Travel Day"), N_("Travel day"), panasonicId, makerTags, unsignedShort, -1, print0x0036), {0x0036, "TravelDay", N_("Travel Day"), N_("Travel day"), panasonicId, makerTags, unsignedShort, -1, print0x0036},
TagInfo(0x0039, "Contrast", N_("Contrast"), N_("Contrast"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0039, "Contrast", N_("Contrast"), N_("Contrast"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x003a, "WorldTimeLocation", N_("World Time Location"), N_("World time location"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWorldTimeLocation)), {0x003a, "WorldTimeLocation", N_("World Time Location"), N_("World time location"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicWorldTimeLocation)},
TagInfo(0x003b, "TextStamp1", N_("Text Stamp 1"), N_("Text Stamp 1"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), {0x003b, "TextStamp1", N_("Text Stamp 1"), N_("Text Stamp 1"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)},
TagInfo(0x003c, "ProgramISO", N_("Program ISO"), N_("Program ISO"), panasonicId, makerTags, unsignedShort, -1, print0x003c), {0x003c, "ProgramISO", N_("Program ISO"), N_("Program ISO"), panasonicId, makerTags, unsignedShort, -1, print0x003c},
TagInfo(0x003d, "AdvancedSceneType", N_("Advanced Scene Type"), N_("Advanced Scene Type"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x003d, "AdvancedSceneType", N_("Advanced Scene Type"), N_("Advanced Scene Type"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x003e, "TextStamp2", N_("Text Stamp 2"), N_("Text Stamp 2"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), {0x003e, "TextStamp2", N_("Text Stamp 2"), N_("Text Stamp 2"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)},
TagInfo(0x003f, "FacesDetected", N_("Faces detected"), N_("Faces detected"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x003f, "FacesDetected", N_("Faces detected"), N_("Faces detected"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0040, "Saturation", N_("Saturation"), N_("Saturation"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0040, "Saturation", N_("Saturation"), N_("Saturation"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0041, "Sharpness", N_("Sharpness"), N_("Sharpness"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0041, "Sharpness", N_("Sharpness"), N_("Sharpness"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0042, "FilmMode", N_("Film Mode"), N_("Film mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFilmMode)), {0x0042, "FilmMode", N_("Film Mode"), N_("Film mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFilmMode)},
TagInfo(0x0044, "ColorTempKelvin", N_("Color Temp Kelvin"), N_("Color Temperatur in Kelvin"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0044, "ColorTempKelvin", N_("Color Temp Kelvin"), N_("Color Temperatur in Kelvin"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0045, "BracketSettings", N_("Bracket Settings"), N_("Bracket Settings"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBracketSettings)), {0x0045, "BracketSettings", N_("Bracket Settings"), N_("Bracket Settings"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicBracketSettings)},
TagInfo(0x0046, "WBAdjustAB", N_("WB Adjust AB"), N_("WB adjust AB. Positive is a shift toward blue."), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0046, "WBAdjustAB", N_("WB Adjust AB"), N_("WB adjust AB. Positive is a shift toward blue."), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WBAdjustGM. Positive is a shift toward green."), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0047, "WBAdjustGM", N_("WB Adjust GM"), N_("WBAdjustGM. Positive is a shift toward green."), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0048, "FlashCurtain", N_("Flash Curtain"), N_("Flash Curtain"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashCurtain)), {0x0048, "FlashCurtain", N_("Flash Curtain"), N_("Flash Curtain"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashCurtain)},
TagInfo(0x0049, "LongShutterNoiseReduction", N_("Long Shutter Noise Reduction"), N_("Long Shutter Noise Reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicLongShutterNoiseReduction)), {0x0049, "LongShutterNoiseReduction", N_("Long Shutter Noise Reduction"), N_("Long Shutter Noise Reduction"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicLongShutterNoiseReduction)},
TagInfo(0x004b, "ImageWidth", N_("Image width"), N_("Image width"), panasonicId, makerTags, unsignedLong, -1, printValue), {0x004b, "ImageWidth", N_("Image width"), N_("Image width"), panasonicId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x004c, "ImageHeight", N_("Image height"), N_("Image height"), panasonicId, makerTags, unsignedLong, -1, printValue), {0x004c, "ImageHeight", N_("Image height"), N_("Image height"), panasonicId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x004d, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), panasonicId, makerTags, unsignedRational, -1, printValue), {0x004d, "AFPointPosition", N_("AF Point Position"), N_("AF Point Position"), panasonicId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x004e, "FaceDetInfo", N_("Face detection info"), N_("Face detection info"), panasonicId, makerTags, undefined, -1, printValue), {0x004e, "FaceDetInfo", N_("Face detection info"), N_("Face detection info"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x0051, "LensType", N_("Lens Type"), N_("Lens type"), panasonicId, makerTags, asciiString, -1, printValue), {0x0051, "LensType", N_("Lens Type"), N_("Lens type"), panasonicId, makerTags, asciiString, -1, printValue},
TagInfo(0x0052, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), panasonicId, makerTags, asciiString, -1, printValue), {0x0052, "LensSerialNumber", N_("Lens Serial Number"), N_("Lens serial number"), panasonicId, makerTags, asciiString, -1, printValue},
TagInfo(0x0053, "AccessoryType", N_("Accessory Type"), N_("Accessory type"), panasonicId, makerTags, asciiString, -1, printValue), {0x0053, "AccessoryType", N_("Accessory Type"), N_("Accessory type"), panasonicId, makerTags, asciiString, -1, printValue},
TagInfo(0x0054, "AccessorySerialNumber", N_("Accessory Serial Number"), N_("Accessory Serial Number"), panasonicId, makerTags, asciiString, -1, printValue), {0x0054, "AccessorySerialNumber", N_("Accessory Serial Number"), N_("Accessory Serial Number"), panasonicId, makerTags, asciiString, -1, printValue},
TagInfo(0x0059, "Transform1", N_("Transform 1"), N_("Transform 1"), panasonicId, makerTags, undefined, -1, printValue), {0x0059, "Transform1", N_("Transform 1"), N_("Transform 1"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x005d, "IntelligentExposure", N_("Intelligent Exposure"), N_("Intelligent Exposure"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentExposure)), {0x005d, "IntelligentExposure", N_("Intelligent Exposure"), N_("Intelligent Exposure"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentExposure)},
TagInfo(0x0060, "LensFirmwareVersion", N_("Firmware Version of the Lens"), N_("Firmware Version of the Lens"), panasonicId, makerTags, undefined, -1, printValue), {0x0060, "LensFirmwareVersion", N_("Firmware Version of the Lens"), N_("Firmware Version of the Lens"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x0061, "FaceRecInfo", N_("Face recognition info"), N_("Face recognition info"), panasonicId, makerTags, undefined, -1, printValue), {0x0061, "FaceRecInfo", N_("Face recognition info"), N_("Face recognition info"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x0062, "FlashWarning", N_("Flash Warning"), N_("Flash warning"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashWarning)), {0x0062, "FlashWarning", N_("Flash Warning"), N_("Flash warning"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashWarning)},
TagInfo(0x0065, "Title", N_("Title"), N_("Title"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0065, "Title", N_("Title"), N_("Title"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0066, "BabyName", N_("Baby Name"), N_("Baby name (or pet name)"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0066, "BabyName", N_("Baby Name"), N_("Baby name (or pet name)"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0067, "Location", N_("Location"), N_("Location"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0067, "Location", N_("Location"), N_("Location"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0069, "Country", N_("Country"), N_("Country"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0069, "Country", N_("Country"), N_("Country"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x006b, "State", N_("State"), N_("State"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x006b, "State", N_("State"), N_("State"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x006d, "City", N_("City"), N_("City"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x006d, "City", N_("City"), N_("City"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x006f, "Landmark", N_("Landmark"), N_("Landmark"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x006f, "Landmark", N_("Landmark"), N_("Landmark"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0070, "IntelligentResolution", N_("Intelligent resolution"), N_("Intelligent resolution"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicIntelligentResolution)), {0x0070, "IntelligentResolution", N_("Intelligent resolution"), N_("Intelligent resolution"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicIntelligentResolution)},
TagInfo(0x0077, "BurstSpeed", N_("Burst Speed"), N_("Burst Speed in pictures per second"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0077, "BurstSpeed", N_("Burst Speed"), N_("Burst Speed in pictures per second"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0079, "IntelligentDRange", N_("Intelligent Dynamic Range"), N_("Intelligent Dynamic Range"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentDRange)), {0x0079, "IntelligentDRange", N_("Intelligent Dynamic Range"), N_("Intelligent Dynamic Range"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicIntelligentDRange)},
TagInfo(0x007c, "ClearRetouch", N_("Clear Retouch"), N_("Clear Retouch"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicClearRetouch)), {0x007c, "ClearRetouch", N_("Clear Retouch"), N_("Clear Retouch"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicClearRetouch)},
TagInfo(0x0080, "City2", N_("City2"), N_("City2"), panasonicId, makerTags, undefined, -1, printPanasonicText), {0x0080, "City2", N_("City2"), N_("City2"), panasonicId, makerTags, undefined, -1, printPanasonicText},
TagInfo(0x0086, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer pressure"), panasonicId, makerTags, unsignedShort, -1, printPressure), {0x0086, "ManometerPressure", N_("Manometer Pressure"), N_("Manometer pressure"), panasonicId, makerTags, unsignedShort, -1, printPressure},
TagInfo(0x0089, "PhotoStyle", N_("Photo style"), N_("Photo style"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicPhotoStyle)), {0x0089, "PhotoStyle", N_("Photo style"), N_("Photo style"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicPhotoStyle)},
TagInfo(0x008a, "ShadingCompensation", N_("Shading Compensation"), N_("Shading Compensation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShadingCompensation)), {0x008a, "ShadingCompensation", N_("Shading Compensation"), N_("Shading Compensation"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShadingCompensation)},
TagInfo(0x008c, "AccelerometerZ", N_("Accelerometer Z"), N_("positive is acceleration upwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), {0x008c, "AccelerometerZ", N_("Accelerometer Z"), N_("positive is acceleration upwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer},
TagInfo(0x008d, "AccelerometerX", N_("Accelerometer X"), N_("positive is acceleration to the left"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), {0x008d, "AccelerometerX", N_("Accelerometer X"), N_("positive is acceleration to the left"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer},
TagInfo(0x008e, "AccelerometerY", N_("Accelerometer Y"), N_("positive is acceleration backwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer), {0x008e, "AccelerometerY", N_("Accelerometer Y"), N_("positive is acceleration backwards"), panasonicId, makerTags, unsignedShort, -1, printAccelerometer},
TagInfo(0x008f, "CameraOrientation", N_("Camera Orientation"), N_("Camera Orientation"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicCameraOrientation)), {0x008f, "CameraOrientation", N_("Camera Orientation"), N_("Camera Orientation"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicCameraOrientation)},
TagInfo(0x0090, "RollAngle", N_("Roll Angle"), N_("degress of clockwise camera rotation"), panasonicId, makerTags, unsignedShort, -1, printRollAngle), {0x0090, "RollAngle", N_("Roll Angle"), N_("degress of clockwise camera rotation"), panasonicId, makerTags, unsignedShort, -1, printRollAngle},
TagInfo(0x0091, "PitchAngle", N_("Pitch Angle"), N_("degress of upwards camera tilt"), panasonicId, makerTags, unsignedShort, -1, printPitchAngle), {0x0091, "PitchAngle", N_("Pitch Angle"), N_("degress of upwards camera tilt"), panasonicId, makerTags, unsignedShort, -1, printPitchAngle},
TagInfo(0x0093, "SweepPanoramaDirection", N_("Sweep Panorama Direction"), N_("Sweep Panorama Direction"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicSweepPanoramaDirection)), {0x0093, "SweepPanoramaDirection", N_("Sweep Panorama Direction"), N_("Sweep Panorama Direction"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicSweepPanoramaDirection)},
TagInfo(0x0094, "PanoramaFieldOfView", N_("Field of View of Panorama"), N_("Field of View of Panorama"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x0094, "PanoramaFieldOfView", N_("Field of View of Panorama"), N_("Field of View of Panorama"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0096, "TimerRecording", N_("Timer Recording"), N_("Timer Recording"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicTimerRecording)), {0x0096, "TimerRecording", N_("Timer Recording"), N_("Timer Recording"), panasonicId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(panasonicTimerRecording)},
TagInfo(0x009d, "InternalNDFilter", N_("Internal ND Filter"), N_("Internal ND Filter"), panasonicId, makerTags, unsignedRational, -1, printValue), {0x009d, "InternalNDFilter", N_("Internal ND Filter"), N_("Internal ND Filter"), panasonicId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x009e, "HDR", N_("HDR"), N_("HDR"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicHDR)), {0x009e, "HDR", N_("HDR"), N_("HDR"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicHDR)},
TagInfo(0x009f, "ShutterType", N_("Shutter Type"), N_("Shutter Type"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShutterType)), {0x009f, "ShutterType", N_("Shutter Type"), N_("Shutter Type"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShutterType)},
TagInfo(0x00a3, "ClearRetouchValue", N_("Clear Retouch Value"), N_("Clear Retouch Value"), panasonicId, makerTags, unsignedRational, -1, printValue), {0x00a3, "ClearRetouchValue", N_("Clear Retouch Value"), N_("Clear Retouch Value"), panasonicId, makerTags, unsignedRational, -1, printValue},
TagInfo(0x00ab, "TouchAE", N_("TouchAE"), N_("TouchAE"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTouchAE)), {0x00ab, "TouchAE", N_("TouchAE"), N_("TouchAE"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTouchAE)},
TagInfo(0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), panasonicId, makerTags, undefined, -1, printValue), {0x0e00, "PrintIM", N_("Print IM"), N_("PrintIM information"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x4449, "0x4449", "0x4449", N_("Unknown"), panasonicId, makerTags, undefined, -1, printValue), {0x4449, "0x4449", "0x4449", N_("Unknown"), panasonicId, makerTags, undefined, -1, printValue},
TagInfo(0x8000, "MakerNoteVersion", N_("MakerNote Version"), N_("MakerNote version"), panasonicId, makerTags, undefined, -1, printExifVersion), {0x8000, "MakerNoteVersion", N_("MakerNote Version"), N_("MakerNote version"), panasonicId, makerTags, undefined, -1, printExifVersion},
TagInfo(0x8001, "SceneMode", N_("Scene Mode"), N_("Scene mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)), {0x8001, "SceneMode", N_("Scene Mode"), N_("Scene mode"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicShootingMode)},
TagInfo(0x8004, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x8004, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x8005, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x8005, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicId, makerTags, unsignedShort, -1, printValue), {0x8006, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panasonicId, makerTags, unsignedShort, -1, printValue},
TagInfo(0x8007, "FlashFired", N_("Flash Fired"), N_("Flash Fired"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashFired)), {0x8007, "FlashFired", N_("Flash Fired"), N_("Flash Fired"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicFlashFired)},
TagInfo(0x8008, "TextStamp3", N_("Text Stamp 3"), N_("Text Stamp 3"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), {0x8008, "TextStamp3", N_("Text Stamp 3"), N_("Text Stamp 3"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)},
TagInfo(0x8009, "TextStamp4", N_("Text Stamp 4"), N_("Text Stamp 4"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)), {0x8009, "TextStamp4", N_("Text Stamp 4"), N_("Text Stamp 4"), panasonicId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(panasonicTextStamp)},
TagInfo(0x8010, "BabyAge2", N_("Baby Age 2"), N_("Baby (or pet) age 2"), panasonicId, makerTags, asciiString, -1, print0x0033), {0x8010, "BabyAge2", N_("Baby Age 2"), N_("Baby (or pet) age 2"), panasonicId, makerTags, asciiString, -1, print0x0033},
TagInfo(0x8012, "Transform2", N_("Transform 2"), N_("Transform 2"), panasonicId, makerTags, undefined, -1, printValue), {0x8012, "Transform2", N_("Transform 2"), N_("Transform 2"), panasonicId, makerTags, undefined, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicId, makerTags, asciiString, -1, printValue) {0xffff, "(UnknownPanasonicMakerNoteTag)", "(UnknownPanasonicMakerNoteTag)", N_("Unknown PanasonicMakerNote tag"), panasonicId, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* PanasonicMakerNote::tagList() const TagInfo* PanasonicMakerNote::tagList()
@ -725,32 +725,32 @@ namespace Exiv2 {
} // PanasonicMakerNote::printPitchAngle } // PanasonicMakerNote::printPitchAngle
// Panasonic MakerNote Tag Info // Panasonic MakerNote Tag Info
const TagInfo PanasonicMakerNote::tagInfoRaw_[] = { constexpr TagInfo PanasonicMakerNote::tagInfoRaw_[] = {
TagInfo(0x0001, "Version", N_("Version"), N_("Panasonic raw version"), panaRawId, panaRaw, undefined, -1, printExifVersion), {0x0001, "Version", N_("Version"), N_("Panasonic raw version"), panaRawId, panaRaw, undefined, -1, printExifVersion},
TagInfo(0x0002, "SensorWidth", N_("Sensor Width"), N_("Sensor width"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0002, "SensorWidth", N_("Sensor Width"), N_("Sensor width"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0003, "SensorHeight", N_("Sensor Height"), N_("Sensor height"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0003, "SensorHeight", N_("Sensor Height"), N_("Sensor height"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0004, "SensorTopBorder", N_("Sensor Top Border"), N_("Sensor top border"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0004, "SensorTopBorder", N_("Sensor Top Border"), N_("Sensor top border"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0005, "SensorLeftBorder", N_("Sensor Left Border"), N_("Sensor left border"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0005, "SensorLeftBorder", N_("Sensor Left Border"), N_("Sensor left border"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0006, "ImageHeight", N_("Image Height"), N_("Image height"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0006, "ImageHeight", N_("Image Height"), N_("Image height"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0007, "ImageWidth", N_("Image Width"), N_("Image width"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0007, "ImageWidth", N_("Image Width"), N_("Image width"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0011, "RedBalance", N_("Red Balance"), N_("Red balance (found in Digilux 2 RAW images)"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0011, "RedBalance", N_("Red Balance"), N_("Red balance (found in Digilux 2 RAW images)"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0012, "BlueBalance", N_("Blue Balance"), N_("Blue balance"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0012, "BlueBalance", N_("Blue Balance"), N_("Blue balance"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0017, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0017, "ISOSpeed", N_("ISO Speed"), N_("ISO speed setting"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0024, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0024, "WBRedLevel", N_("WB Red Level"), N_("WB red level"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0025, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0025, "WBGreenLevel", N_("WB Green Level"), N_("WB green level"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0026, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0026, "WBBlueLevel", N_("WB Blue Level"), N_("WB blue level"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x002e, "PreviewImage", N_("Preview Image"), N_("Preview image"), panaRawId, panaRaw, undefined, -1, printValue), {0x002e, "PreviewImage", N_("Preview Image"), N_("Preview image"), panaRawId, panaRaw, undefined, -1, printValue},
TagInfo(0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording equipment"), panaRawId, panaRaw, asciiString, -1, printValue), {0x010f, "Make", N_("Manufacturer"), N_("The manufacturer of the recording equipment"), panaRawId, panaRaw, asciiString, -1, printValue},
TagInfo(0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment"), panaRawId, panaRaw, asciiString, -1, printValue), {0x0110, "Model", N_("Model"), N_("The model name or model number of the equipment"), panaRawId, panaRaw, asciiString, -1, printValue},
TagInfo(0x0111, "StripOffsets", N_("Strip Offsets"), N_("Strip offsets"), panaRawId, panaRaw, unsignedLong, -1, printValue), {0x0111, "StripOffsets", N_("Strip Offsets"), N_("Strip offsets"), panaRawId, panaRaw, unsignedLong, -1, printValue},
TagInfo(0x0112, "Orientation", N_("Orientation"), N_("Orientation"), panaRawId, panaRaw, unsignedShort, -1, print0x0112), {0x0112, "Orientation", N_("Orientation"), N_("Orientation"), panaRawId, panaRaw, unsignedShort, -1, print0x0112},
TagInfo(0x0116, "RowsPerStrip", N_("Rows Per Strip"), N_("The number of rows per strip"), panaRawId, panaRaw, unsignedShort, -1, printValue), {0x0116, "RowsPerStrip", N_("Rows Per Strip"), N_("The number of rows per strip"), panaRawId, panaRaw, unsignedShort, -1, printValue},
TagInfo(0x0117, "StripByteCounts", N_("Strip Byte Counts"), N_("Strip byte counts"), panaRawId, panaRaw, unsignedLong, -1, printValue), {0x0117, "StripByteCounts", N_("Strip Byte Counts"), N_("Strip byte counts"), panaRawId, panaRaw, unsignedLong, -1, printValue},
TagInfo(0x0118, "RawDataOffset", N_("Raw Data Offset"), N_("Raw data offset"), panaRawId, panaRaw, unsignedLong, -1, printValue), {0x0118, "RawDataOffset", N_("Raw Data Offset"), N_("Raw data offset"), panaRawId, panaRaw, unsignedLong, -1, printValue},
TagInfo(0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue), {0x8769, "ExifTag", N_("Exif IFD Pointer"), N_("A pointer to the Exif IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue},
TagInfo(0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue), {0x8825, "GPSTag", N_("GPS Info IFD Pointer"), N_("A pointer to the GPS Info IFD"), panaRawId, panaRaw, unsignedLong, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawId, panaRaw, asciiString, -1, printValue) {0xffff, "(UnknownPanasonicRawTag)", "(UnknownPanasonicRawTag)", N_("Unknown PanasonicRaw tag"), panaRawId, panaRaw, asciiString, -1, printValue},
}; };
const TagInfo* PanasonicMakerNote::tagListRaw() const TagInfo* PanasonicMakerNote::tagListRaw()

@ -37,14 +37,14 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! ShootingMode, tag 0x0001 //! ShootingMode, tag 0x0001
extern const TagDetails pentaxShootingMode[] = { constexpr TagDetails pentaxShootingMode[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Night-Scene") }, { 1, N_("Night-Scene") },
{ 2, N_("Manual") }, { 2, N_("Manual") },
}; };
//! CameraModel, tag 0x0005 //! CameraModel, tag 0x0005
extern const TagDetails pentaxModel[] = { constexpr TagDetails pentaxModel[] = {
{ 0x0000d, "Optio 330/430" }, { 0x0000d, "Optio 330/430" },
{ 0x12926, "Optio 230" }, { 0x12926, "Optio 230" },
{ 0x12958, "Optio 330GS" }, { 0x12958, "Optio 330GS" },
@ -185,7 +185,7 @@ namespace Exiv2 {
}; };
//! Quality, tag 0x0008 //! Quality, tag 0x0008
extern const TagDetails pentaxQuality[] = { constexpr TagDetails pentaxQuality[] = {
{ 0, N_("Good") }, { 0, N_("Good") },
{ 1, N_("Better") }, { 1, N_("Better") },
{ 2, N_("Best") }, { 2, N_("Best") },
@ -196,7 +196,7 @@ namespace Exiv2 {
}; };
//! Size, tag 0x0009 //! Size, tag 0x0009
extern const TagDetails pentaxSize[] = { constexpr TagDetails pentaxSize[] = {
{ 0, "640x480" }, { 0, "640x480" },
{ 1, N_("Full") }, { 1, N_("Full") },
{ 2, "1024x768" }, { 2, "1024x768" },
@ -233,7 +233,7 @@ namespace Exiv2 {
}; };
//! Flash, tag 0x000c //! Flash, tag 0x000c
extern const TagDetails pentaxFlash[] = { constexpr TagDetails pentaxFlash[] = {
{ 0x000, N_("Auto, Did not fire") }, { 0x000, N_("Auto, Did not fire") },
{ 0x001, N_("Off, Did not fire") }, { 0x001, N_("Off, Did not fire") },
{ 0x002, N_("Off, Did not fire") }, { 0x002, N_("Off, Did not fire") },
@ -253,7 +253,7 @@ namespace Exiv2 {
}; };
//! Focus, tag 0x000d //! Focus, tag 0x000d
extern const TagDetails pentaxFocus[] = { constexpr TagDetails pentaxFocus[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Macro") }, { 1, N_("Macro") },
{ 2, N_("Infinity") }, { 2, N_("Infinity") },
@ -269,7 +269,7 @@ namespace Exiv2 {
}; };
//! AFPoint, tag 0x000e //! AFPoint, tag 0x000e
extern const TagDetails pentaxAFPoint[] = { constexpr TagDetails pentaxAFPoint[] = {
{ 0xffff, N_("Auto") }, { 0xffff, N_("Auto") },
{ 0xfffe, N_("Fixed Center") }, { 0xfffe, N_("Fixed Center") },
{ 0xfffd, N_("Automatic Tracking AF") }, { 0xfffd, N_("Automatic Tracking AF") },
@ -290,7 +290,7 @@ namespace Exiv2 {
}; };
//! AFPointInFocus, tag 0x000f //! AFPointInFocus, tag 0x000f
extern const TagDetails pentaxAFPointFocus[] = { constexpr TagDetails pentaxAFPointFocus[] = {
{ 0xffff, N_("None") }, { 0xffff, N_("None") },
{ 0, N_("Fixed Center or multiple") }, { 0, N_("Fixed Center or multiple") },
{ 1, N_("Top-left") }, { 1, N_("Top-left") },
@ -305,7 +305,7 @@ namespace Exiv2 {
}; };
//! ISO, tag 0x0014 //! ISO, tag 0x0014
extern const TagDetails pentaxISO[] = { constexpr TagDetails pentaxISO[] = {
{ 3, "50" }, { 3, "50" },
{ 4, "64" }, { 4, "64" },
{ 5, "80" }, { 5, "80" },
@ -389,26 +389,26 @@ namespace Exiv2 {
}; };
//! Generic for Off/On switches //! Generic for Off/On switches
extern const TagDetails pentaxOffOn[] = { constexpr TagDetails pentaxOffOn[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
}; };
//! Generic for Yes/No switches //! Generic for Yes/No switches
extern const TagDetails pentaxYesNo[] = { constexpr TagDetails pentaxYesNo[] = {
{ 0, N_("No") }, { 0, N_("No") },
{ 1, N_("Yes") }, { 1, N_("Yes") },
}; };
//! MeteringMode, tag 0x0017 //! MeteringMode, tag 0x0017
extern const TagDetails pentaxMeteringMode[] = { constexpr TagDetails pentaxMeteringMode[] = {
{ 0, N_("Multi Segment") }, { 0, N_("Multi Segment") },
{ 1, N_("Center Weighted") }, { 1, N_("Center Weighted") },
{ 2, N_("Spot") }, { 2, N_("Spot") },
}; };
//! WhiteBalance, tag 0x0019 //! WhiteBalance, tag 0x0019
extern const TagDetails pentaxWhiteBalance[] = { constexpr TagDetails pentaxWhiteBalance[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Daylight") }, { 1, N_("Daylight") },
{ 2, N_("Shade") }, { 2, N_("Shade") },
@ -427,7 +427,7 @@ namespace Exiv2 {
}; };
//! WhiteBalance, tag 0x001a //! WhiteBalance, tag 0x001a
extern const TagDetails pentaxWhiteBalanceMode[] = { constexpr TagDetails pentaxWhiteBalanceMode[] = {
{ 1, N_("Auto (Daylight)") }, { 1, N_("Auto (Daylight)") },
{ 2, N_("Auto (Shade)") }, { 2, N_("Auto (Shade)") },
{ 3, N_("Auto (Flash)") }, { 3, N_("Auto (Flash)") },
@ -441,7 +441,7 @@ namespace Exiv2 {
}; };
//! Saturation, tag 0x001f //! Saturation, tag 0x001f
extern const TagDetails pentaxSaturation[] = { constexpr TagDetails pentaxSaturation[] = {
{ 0, N_("Low") }, { 0, N_("Low") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("High") }, { 2, N_("High") },
@ -456,7 +456,7 @@ namespace Exiv2 {
}; };
//! Contrast, tag 0x0020 //! Contrast, tag 0x0020
extern const TagDetails pentaxContrast[] = { constexpr TagDetails pentaxContrast[] = {
{ 0, N_("Low") }, { 0, N_("Low") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("High") }, { 2, N_("High") },
@ -469,7 +469,7 @@ namespace Exiv2 {
}; };
//! Sharpness, tag 0x0021 //! Sharpness, tag 0x0021
extern const TagDetails pentaxSharpness[] = { constexpr TagDetails pentaxSharpness[] = {
{ 0, N_("Soft") }, { 0, N_("Soft") },
{ 1, N_("Normal") }, { 1, N_("Normal") },
{ 2, N_("Hard") }, { 2, N_("Hard") },
@ -482,13 +482,13 @@ namespace Exiv2 {
}; };
//! Location, tag 0x0022 //! Location, tag 0x0022
extern const TagDetails pentaxLocation[] = { constexpr TagDetails pentaxLocation[] = {
{ 0, N_("Home town") }, { 0, N_("Home town") },
{ 1, N_("Destination") }, { 1, N_("Destination") },
}; };
//! City names, tags 0x0023 and 0x0024 //! City names, tags 0x0023 and 0x0024
extern const TagDetails pentaxCities[] = { constexpr TagDetails pentaxCities[] = {
{ 0, N_("Pago Pago") }, { 0, N_("Pago Pago") },
{ 1, N_("Honolulu") }, { 1, N_("Honolulu") },
{ 2, N_("Anchorage") }, { 2, N_("Anchorage") },
@ -567,7 +567,7 @@ namespace Exiv2 {
}; };
//! ImageProcessing, combi-tag 0x0032 (4 bytes) //! ImageProcessing, combi-tag 0x0032 (4 bytes)
extern const TagDetails pentaxImageProcessing[] = { constexpr TagDetails pentaxImageProcessing[] = {
{ 0x00000000, N_("Unprocessed") }, { 0x00000000, N_("Unprocessed") },
{ 0x00000004, N_("Digital Filter") }, { 0x00000004, N_("Digital Filter") },
{ 0x01000000, N_("Resized") }, { 0x01000000, N_("Resized") },
@ -578,7 +578,7 @@ namespace Exiv2 {
}; };
//! PictureMode, combi-tag 0x0033 (3 bytes) //! PictureMode, combi-tag 0x0033 (3 bytes)
extern const TagDetails pentaxPictureMode[] = { constexpr TagDetails pentaxPictureMode[] = {
{ 0x000000, N_("Program") }, { 0x000000, N_("Program") },
{ 0x000100, N_("Hi-speed Program") }, { 0x000100, N_("Hi-speed Program") },
{ 0x000200, N_("DOF Program") }, { 0x000200, N_("DOF Program") },
@ -659,7 +659,7 @@ namespace Exiv2 {
}; };
//! DriveMode, combi-tag 0x0034 (4 bytes) //! DriveMode, combi-tag 0x0034 (4 bytes)
extern const TagDetails pentaxDriveMode[] = { constexpr TagDetails pentaxDriveMode[] = {
{ 0x00000000, N_("Single-frame") }, { 0x00000000, N_("Single-frame") },
{ 0x01000000, N_("Continuous") }, { 0x01000000, N_("Continuous") },
{ 0x02000000, N_("Continuous (Hi)") }, { 0x02000000, N_("Continuous (Hi)") },
@ -683,13 +683,13 @@ namespace Exiv2 {
}; };
//! ColorSpace, tag 0x0037 //! ColorSpace, tag 0x0037
extern const TagDetails pentaxColorSpace[] = { constexpr TagDetails pentaxColorSpace[] = {
{ 0, N_("sRGB") }, { 0, N_("sRGB") },
{ 1, N_("Adobe RGB") }, { 1, N_("Adobe RGB") },
}; };
//! LensType, combi-tag 0x003f (2 unsigned long) //! LensType, combi-tag 0x003f (2 unsigned long)
extern const TagDetails pentaxLensType[] = { constexpr TagDetails pentaxLensType[] = {
{ 0x0000, N_("M-42 or No Lens") }, { 0x0000, N_("M-42 or No Lens") },
{ 0x0100, N_("K or M Lens") }, { 0x0100, N_("K or M Lens") },
{ 0x0200, N_("A Series Lens") }, { 0x0200, N_("A Series Lens") },
@ -983,7 +983,7 @@ namespace Exiv2 {
}; };
//! ImageTone, tag 0x004f //! ImageTone, tag 0x004f
extern const TagDetails pentaxImageTone[] = { constexpr TagDetails pentaxImageTone[] = {
{ 0, N_("Natural") }, { 0, N_("Natural") },
{ 1, N_("Bright") }, { 1, N_("Bright") },
{ 2, N_("Portrait") }, { 2, N_("Portrait") },
@ -997,13 +997,13 @@ namespace Exiv2 {
}; };
//! DynamicRangeExpansion, tag 0x0069 //! DynamicRangeExpansion, tag 0x0069
extern const TagDetails pentaxDynamicRangeExpansion[] = { constexpr TagDetails pentaxDynamicRangeExpansion[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 0x1000000, N_("On") }, { 0x1000000, N_("On") },
}; };
//! HighISONoiseReduction, tag 0x0071 //! HighISONoiseReduction, tag 0x0071
extern const TagDetails pentaxHighISONoiseReduction[] = { constexpr TagDetails pentaxHighISONoiseReduction[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Weakest") }, { 1, N_("Weakest") },
{ 2, N_("Weak") }, { 2, N_("Weak") },
@ -1424,269 +1424,269 @@ namespace Exiv2 {
// ---------------------------------------------------------------------- // ----------------------------------------------------------------------
// Pentax MakerNote Tag Info // Pentax MakerNote Tag Info
const TagInfo PentaxMakerNote::tagInfo_[] = { constexpr TagInfo PentaxMakerNote::tagInfo_[] = {
TagInfo(0x0000, "Version", N_("Version"), {0x0000, "Version", N_("Version"),
N_("Pentax Makernote version"), N_("Pentax Makernote version"),
pentaxId, makerTags, undefined, -1, printVersion), pentaxId, makerTags, undefined, -1, printVersion},
TagInfo(0x0001, "Mode", N_("Shooting mode"), {0x0001, "Mode", N_("Shooting mode"),
N_("Camera shooting mode"), N_("Camera shooting mode"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxShootingMode)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxShootingMode)},
TagInfo(0x0002, "PreviewResolution", N_("Resolution of a preview image"), {0x0002, "PreviewResolution", N_("Resolution of a preview image"),
N_("Resolution of a preview image"), N_("Resolution of a preview image"),
pentaxId, makerTags, undefined, -1, printResolution), pentaxId, makerTags, undefined, -1, printResolution},
TagInfo(0x0003, "PreviewLength", N_("Length of a preview image"), {0x0003, "PreviewLength", N_("Length of a preview image"),
N_("Size of an IFD containing a preview image"), N_("Size of an IFD containing a preview image"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
TagInfo(0x0004, "PreviewOffset", N_("Pointer to a preview image"), {0x0004, "PreviewOffset", N_("Pointer to a preview image"),
N_("Offset to an IFD containing a preview image"), N_("Offset to an IFD containing a preview image"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
TagInfo(0x0005, "ModelID", N_("Model identification"), {0x0005, "ModelID", N_("Model identification"),
N_("Pentax model identification"), N_("Pentax model identification"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxModel)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxModel)},
TagInfo(0x0006, "Date", N_("Date"), {0x0006, "Date", N_("Date"),
N_("Date"), N_("Date"),
pentaxId, makerTags, undefined, -1, printDate), pentaxId, makerTags, undefined, -1, printDate},
TagInfo(0x0007, "Time", N_("Time"), {0x0007, "Time", N_("Time"),
N_("Time"), N_("Time"),
pentaxId, makerTags, undefined, -1, printTime), pentaxId, makerTags, undefined, -1, printTime},
TagInfo(0x0008, "Quality", N_("Image quality"), {0x0008, "Quality", N_("Image quality"),
N_("Image quality settings"), N_("Image quality settings"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxQuality)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxQuality)},
TagInfo(0x0009, "Size", N_("Image size"), {0x0009, "Size", N_("Image size"),
N_("Image size settings"), N_("Image size settings"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxSize)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxSize)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x000c, "Flash", N_("Flash mode"), {0x000c, "Flash", N_("Flash mode"),
N_("Flash mode settings"), N_("Flash mode settings"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFlash)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFlash)},
TagInfo(0x000d, "Focus", N_("Focus mode"), {0x000d, "Focus", N_("Focus mode"),
N_("Focus mode settings"), N_("Focus mode settings"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFocus)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxFocus)},
TagInfo(0x000e, "AFPoint", N_("AF point"), {0x000e, "AFPoint", N_("AF point"),
N_("Selected AF point"), N_("Selected AF point"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPoint)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPoint)},
TagInfo(0x000F, "AFPointInFocus", N_("AF point in focus"), {0x000F, "AFPointInFocus", N_("AF point in focus"),
N_("AF point in focus"), N_("AF point in focus"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPointFocus)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxAFPointFocus)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0012, "ExposureTime", N_("Exposure time"), {0x0012, "ExposureTime", N_("Exposure time"),
N_("Exposure time"), N_("Exposure time"),
pentaxId, makerTags, unsignedLong, -1, printExposure), pentaxId, makerTags, unsignedLong, -1, printExposure},
TagInfo(0x0013, "FNumber", N_("F-Number"), {0x0013, "FNumber", N_("F-Number"),
N_("F-Number"), N_("F-Number"),
pentaxId, makerTags, unsignedLong, -1, printFValue), pentaxId, makerTags, unsignedLong, -1, printFValue},
TagInfo(0x0014, "ISO", N_("ISO sensitivity"), {0x0014, "ISO", N_("ISO sensitivity"),
N_("ISO sensitivity settings"), N_("ISO sensitivity settings"),
pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxISO)), pentaxId, makerTags, unsignedLong, -1, EXV_PRINT_TAG(pentaxISO)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0016, "ExposureCompensation", N_("Exposure compensation"), {0x0016, "ExposureCompensation", N_("Exposure compensation"),
N_("Exposure compensation"), N_("Exposure compensation"),
pentaxId, makerTags, unsignedLong, -1, printCompensation), pentaxId, makerTags, unsignedLong, -1, printCompensation},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0017, "MeteringMode", N_("MeteringMode"), {0x0017, "MeteringMode", N_("MeteringMode"),
N_("MeteringMode"), N_("MeteringMode"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxMeteringMode)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxMeteringMode)},
TagInfo(0x0018, "AutoBracketing", N_("AutoBracketing"), {0x0018, "AutoBracketing", N_("AutoBracketing"),
N_("AutoBracketing"), N_("AutoBracketing"),
pentaxId, makerTags, undefined, -1, printBracketing), pentaxId, makerTags, undefined, -1, printBracketing},
TagInfo(0x0019, "WhiteBalance", N_("White balance"), {0x0019, "WhiteBalance", N_("White balance"),
N_("White balance"), N_("White balance"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalance)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalance)},
TagInfo(0x001a, "WhiteBalanceMode", N_("White balance mode"), {0x001a, "WhiteBalanceMode", N_("White balance mode"),
N_("White balance mode"), N_("White balance mode"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalanceMode)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxWhiteBalanceMode)},
TagInfo(0x001b, "BlueBalance", N_("Blue balance"), {0x001b, "BlueBalance", N_("Blue balance"),
N_("Blue color balance"), N_("Blue color balance"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x001c, "RedBalance", N_("Red balance"), {0x001c, "RedBalance", N_("Red balance"),
N_("Red color balance"), N_("Red color balance"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x001d, "FocalLength", N_("FocalLength"), {0x001d, "FocalLength", N_("FocalLength"),
N_("FocalLength"), N_("FocalLength"),
pentaxId, makerTags, undefined, -1, printFocalLength), pentaxId, makerTags, undefined, -1, printFocalLength},
TagInfo(0x001e, "DigitalZoom", N_("Digital zoom"), {0x001e, "DigitalZoom", N_("Digital zoom"),
N_("Digital zoom"), N_("Digital zoom"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x001f, "Saturation", N_("Saturation"), {0x001f, "Saturation", N_("Saturation"),
N_("Saturation"), N_("Saturation"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSaturation)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSaturation)},
TagInfo(0x0020, "Contrast", N_("Contrast"), {0x0020, "Contrast", N_("Contrast"),
N_("Contrast"), N_("Contrast"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxContrast)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxContrast)},
TagInfo(0x0021, "Sharpness", N_("Sharpness"), {0x0021, "Sharpness", N_("Sharpness"),
N_("Sharpness"), N_("Sharpness"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSharpness)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxSharpness)},
TagInfo(0x0022, "Location", N_("Location"), {0x0022, "Location", N_("Location"),
N_("Location"), N_("Location"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxLocation)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxLocation)},
TagInfo(0x0023, "Hometown", N_("Hometown"), {0x0023, "Hometown", N_("Hometown"),
N_("Home town"), N_("Home town"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)},
TagInfo(0x0024, "Destination", N_("Destination"), {0x0024, "Destination", N_("Destination"),
N_("Destination"), N_("Destination"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxCities)},
TagInfo(0x0025, "HometownDST", N_("Hometown DST"), {0x0025, "HometownDST", N_("Hometown DST"),
N_("Whether day saving time is active in home town"), N_("Whether day saving time is active in home town"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)},
TagInfo(0x0026, "DestinationDST", N_("Destination DST"), {0x0026, "DestinationDST", N_("Destination DST"),
N_("Whether day saving time is active in destination"), N_("Whether day saving time is active in destination"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)), pentaxId, makerTags, undefined, -1, EXV_PRINT_TAG(pentaxYesNo)},
TagInfo(0x0027, "DSPFirmwareVersion", N_("DSPFirmwareVersion"), {0x0027, "DSPFirmwareVersion", N_("DSPFirmwareVersion"),
N_("DSPFirmwareVersion"), N_("DSPFirmwareVersion"),
pentaxId, makerTags, unsignedByte, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, unsignedByte, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0028, "CPUFirmwareVersion", N_("CPUFirmwareVersion"), {0x0028, "CPUFirmwareVersion", N_("CPUFirmwareVersion"),
N_("CPUFirmwareVersion"), N_("CPUFirmwareVersion"),
pentaxId, makerTags, unsignedByte, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, unsignedByte, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0029, "FrameNumber", N_("Frame number"), {0x0029, "FrameNumber", N_("Frame number"),
N_("Frame number"), N_("Frame number"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x002d, "EffectiveLV", N_("Light value"), {0x002d, "EffectiveLV", N_("Light value"),
N_("Camera calculated light value, includes exposure compensation"), N_("Camera calculated light value, includes exposure compensation"),
pentaxId, makerTags, unsignedShort, -1, printValue), pentaxId, makerTags, unsignedShort, -1, printValue},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0032, "ImageProcessing", N_("Image processing"), {0x0032, "ImageProcessing", N_("Image processing"),
N_("Image processing"), N_("Image processing"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4, 0)), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxImageProcessing, 4, 0)},
TagInfo(0x0033, "PictureMode", N_("Picture mode"), {0x0033, "PictureMode", N_("Picture mode"),
N_("Picture mode"), N_("Picture mode"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxPictureMode, 3, 0)), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxPictureMode, 3, 0)},
TagInfo(0x0034, "DriveMode", N_("Drive mode"), {0x0034, "DriveMode", N_("Drive mode"),
N_("Drive mode"), N_("Drive mode"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDriveMode, 4, 0)), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDriveMode, 4, 0)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0037, "ColorSpace", N_("Color space"), {0x0037, "ColorSpace", N_("Color space"),
N_("Color space"), N_("Color space"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxColorSpace)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxColorSpace)},
TagInfo(0x0038, "ImageAreaOffset", N_("Image area offset"), {0x0038, "ImageAreaOffset", N_("Image area offset"),
N_("Image area offset"), N_("Image area offset"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0039, "RawImageSize", N_("Raw image size"), {0x0039, "RawImageSize", N_("Raw image size"),
N_("Raw image size"), N_("Raw image size"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x003e, "PreviewImageBorders", N_("Preview image borders"), {0x003e, "PreviewImageBorders", N_("Preview image borders"),
N_("Preview image borders"), N_("Preview image borders"),
pentaxId, makerTags, unsignedByte, -1, printValue), pentaxId, makerTags, unsignedByte, -1, printValue},
TagInfo(0x003f, "LensType", N_("Lens type"), {0x003f, "LensType", N_("Lens type"),
N_("Lens type"), N_("Lens type"),
pentaxId, makerTags, unsignedByte, -1, printLensType), // #816 pentaxId, makerTags, unsignedByte, -1, printLensType}, // #816
TagInfo(0x0040, "SensitivityAdjust", N_("Sensitivity adjust"), {0x0040, "SensitivityAdjust", N_("Sensitivity adjust"),
N_("Sensitivity adjust"), N_("Sensitivity adjust"),
pentaxId, makerTags, unsignedLong, -1, printValue), pentaxId, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0041, "DigitalFilter", N_("Digital filter"), {0x0041, "DigitalFilter", N_("Digital filter"),
N_("Digital filter"), N_("Digital filter"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0047, "Temperature", N_("Temperature"), {0x0047, "Temperature", N_("Temperature"),
N_("Camera temperature"), N_("Camera temperature"),
pentaxId, makerTags, signedByte, -1, printTemperature), pentaxId, makerTags, signedByte, -1, printTemperature},
TagInfo(0x0048, "AELock", N_("AE lock"), {0x0048, "AELock", N_("AE lock"),
N_("AE lock"), N_("AE lock"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)},
TagInfo(0x0049, "NoiseReduction", N_("Noise reduction"), {0x0049, "NoiseReduction", N_("Noise reduction"),
N_("Noise reduction"), N_("Noise reduction"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxOffOn)},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x004d, "FlashExposureCompensation", N_("Flash exposure compensation"), {0x004d, "FlashExposureCompensation", N_("Flash exposure compensation"),
N_("Flash exposure compensation"), N_("Flash exposure compensation"),
pentaxId, makerTags, signedLong, -1, printFlashCompensation), pentaxId, makerTags, signedLong, -1, printFlashCompensation},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x004f, "ImageTone", N_("Image tone"), {0x004f, "ImageTone", N_("Image tone"),
N_("Image tone"), N_("Image tone"),
pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxImageTone)), pentaxId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(pentaxImageTone)},
TagInfo(0x0050, "ColorTemperature", N_("Color temperature"), {0x0050, "ColorTemperature", N_("Color temperature"),
N_("Color temperature"), N_("Color temperature"),
pentaxId, makerTags, unsignedShort, -1, printValue), pentaxId, makerTags, unsignedShort, -1, printValue},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x005c, "ShakeReduction", N_("Shake reduction"), {0x005c, "ShakeReduction", N_("Shake reduction"),
N_("Shake reduction information"), N_("Shake reduction information"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
TagInfo(0x005d, "ShutterCount", N_("Shutter count"), {0x005d, "ShutterCount", N_("Shutter count"),
N_("Shutter count"), N_("Shutter count"),
pentaxId, makerTags, undefined, -1, printShutterCount), pentaxId, makerTags, undefined, -1, printShutterCount},
TagInfo(0x0069, "DynamicRangeExpansion", N_("Dynamic range expansion"), {0x0069, "DynamicRangeExpansion", N_("Dynamic range expansion"),
N_("Dynamic range expansion"), N_("Dynamic range expansion"),
pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDynamicRangeExpansion, 4, 0)), pentaxId, makerTags, undefined, -1, EXV_PRINT_COMBITAG(pentaxDynamicRangeExpansion, 4, 0)},
TagInfo(0x0071, "HighISONoiseReduction", N_("High ISO noise reduction"), {0x0071, "HighISONoiseReduction", N_("High ISO noise reduction"),
N_("High ISO noise reduction"), N_("High ISO noise reduction"),
pentaxId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(pentaxHighISONoiseReduction)), pentaxId, makerTags, unsignedByte, -1, EXV_PRINT_TAG(pentaxHighISONoiseReduction)},
TagInfo(0x0072, "AFAdjustment", N_("AF Adjustment"), {0x0072, "AFAdjustment", N_("AF Adjustment"),
N_("AF Adjustment"), N_("AF Adjustment"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
/* Many missing ! */ /* Many missing ! */
TagInfo(0x0200, "BlackPoint", N_("Black point"), {0x0200, "BlackPoint", N_("Black point"),
N_("Black point"), N_("Black point"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
TagInfo(0x0201, "WhitePoint", N_("White point"), {0x0201, "WhitePoint", N_("White point"),
N_("White point"), N_("White point"),
pentaxId, makerTags, undefined, -1, printValue), pentaxId, makerTags, undefined, -1, printValue},
/* Some missing ! */ /* Some missing ! */
TagInfo(0x0205, "ShotInfo", N_("ShotInfo"), {0x0205, "ShotInfo", N_("ShotInfo"),
N_("ShotInfo"), N_("ShotInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0206, "AEInfo", N_("AEInfo"), {0x0206, "AEInfo", N_("AEInfo"),
N_("AEInfo"), N_("AEInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0207, "LensInfo", N_("LensInfo"), {0x0207, "LensInfo", N_("LensInfo"),
N_("LensInfo"), N_("LensInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0208, "FlashInfo", N_("FlashInfo"), {0x0208, "FlashInfo", N_("FlashInfo"),
N_("FlashInfo"), N_("FlashInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0209, "AEMeteringSegments", N_("AEMeteringSegments"), {0x0209, "AEMeteringSegments", N_("AEMeteringSegments"),
N_("AEMeteringSegments"), N_("AEMeteringSegments"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x020a, "FlashADump", N_("FlashADump"), {0x020a, "FlashADump", N_("FlashADump"),
N_("FlashADump"), N_("FlashADump"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x020b, "FlashBDump", N_("FlashBDump"), {0x020b, "FlashBDump", N_("FlashBDump"),
N_("FlashBDump"), N_("FlashBDump"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
/* Some missing ! */ /* Some missing ! */
TagInfo(0x020d, "WB_RGGBLevelsDaylight", N_("WB_RGGBLevelsDaylight"), {0x020d, "WB_RGGBLevelsDaylight", N_("WB_RGGBLevelsDaylight"),
N_("WB_RGGBLevelsDaylight"), N_("WB_RGGBLevelsDaylight"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x020e, "WB_RGGBLevelsShade", N_("WB_RGGBLevelsShade"), {0x020e, "WB_RGGBLevelsShade", N_("WB_RGGBLevelsShade"),
N_("WB_RGGBLevelsShade"), N_("WB_RGGBLevelsShade"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x020f, "WB_RGGBLevelsCloudy", N_("WB_RGGBLevelsCloudy"), {0x020f, "WB_RGGBLevelsCloudy", N_("WB_RGGBLevelsCloudy"),
N_("WB_RGGBLevelsCloudy"), N_("WB_RGGBLevelsCloudy"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0210, "WB_RGGBLevelsTungsten", N_("WB_RGGBLevelsTungsten"), {0x0210, "WB_RGGBLevelsTungsten", N_("WB_RGGBLevelsTungsten"),
N_("WB_RGGBLevelsTungsten"), N_("WB_RGGBLevelsTungsten"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0211, "WB_RGGBLevelsFluorescentD", N_("WB_RGGBLevelsFluorescentD"), {0x0211, "WB_RGGBLevelsFluorescentD", N_("WB_RGGBLevelsFluorescentD"),
N_("WB_RGGBLevelsFluorescentD"), N_("WB_RGGBLevelsFluorescentD"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0212, "WB_RGGBLevelsFluorescentN", N_("WB_RGGBLevelsFluorescentN"), {0x0212, "WB_RGGBLevelsFluorescentN", N_("WB_RGGBLevelsFluorescentN"),
N_("WB_RGGBLevelsFluorescentN"), N_("WB_RGGBLevelsFluorescentN"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0213, "WB_RGGBLevelsFluorescentW", N_("WB_RGGBLevelsFluorescentW"), {0x0213, "WB_RGGBLevelsFluorescentW", N_("WB_RGGBLevelsFluorescentW"),
N_("WB_RGGBLevelsFluorescentW"), N_("WB_RGGBLevelsFluorescentW"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0214, "WB_RGGBLevelsFlash", N_("WB_RGGBLevelsFlash"), {0x0214, "WB_RGGBLevelsFlash", N_("WB_RGGBLevelsFlash"),
N_("WB_RGGBLevelsFlash"), N_("WB_RGGBLevelsFlash"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0215, "CameraInfo", N_("CameraInfo"), {0x0215, "CameraInfo", N_("CameraInfo"),
N_("CameraInfo"), N_("CameraInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0216, "BatteryInfo", N_("BatteryInfo"), {0x0216, "BatteryInfo", N_("BatteryInfo"),
N_("BatteryInfo"), N_("BatteryInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x021f, "AFInfo", N_("AFInfo"), {0x021f, "AFInfo", N_("AFInfo"),
N_("AFInfo"), N_("AFInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0222, "ColorInfo", N_("ColorInfo"), {0x0222, "ColorInfo", N_("ColorInfo"),
N_("ColorInfo"), N_("ColorInfo"),
pentaxId, makerTags, undefined, -1, printValue), /* TODO: Decoding missing */ pentaxId, makerTags, undefined, -1, printValue}, /* TODO: Decoding missing */
TagInfo(0x0229, "SerialNumber", N_("Serial Number"), {0x0229, "SerialNumber", N_("Serial Number"),
N_("Serial Number"), N_("Serial Number"),
pentaxId, makerTags, asciiString, -1, printValue), pentaxId, makerTags, asciiString, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownPentaxMakerNoteTag)", "(UnknownPentaxMakerNoteTag)", {0xffff, "(UnknownPentaxMakerNoteTag)", "(UnknownPentaxMakerNoteTag)",
N_("Unknown PentaxMakerNote tag"), N_("Unknown PentaxMakerNote tag"),
pentaxId, makerTags, asciiString, -1, printValue) pentaxId, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* PentaxMakerNote::tagList() const TagInfo* PentaxMakerNote::tagList()

@ -1032,6 +1032,8 @@ namespace Exiv2 {
PreviewImage::PreviewImage(PreviewProperties properties, DataBuf data) PreviewImage::PreviewImage(PreviewProperties properties, DataBuf data)
: properties_(std::move(properties)), pData_(data.pData_), size_(data.size_) : properties_(std::move(properties)), pData_(data.pData_), size_(data.size_)
{ {
pData_ = data.pData_;
size_ = data.size_;
std::pair<byte*, long> ret = data.release(); std::pair<byte*, long> ret = data.release();
UNUSED(ret); UNUSED(ret);
} }

@ -95,7 +95,7 @@ namespace Exiv2 {
extern const XmpPropertyInfo xmpAcdseeInfo[]; extern const XmpPropertyInfo xmpAcdseeInfo[];
extern const XmpPropertyInfo xmpGPanoInfo[]; extern const XmpPropertyInfo xmpGPanoInfo[];
extern const XmpNsInfo xmpNsInfo[] = { constexpr XmpNsInfo xmpNsInfo[] = {
// Schemas - NOTE: Schemas which the XMP-SDK doesn't know must be registered in XmpParser::initialize - Todo: Automate this // Schemas - NOTE: Schemas which the XMP-SDK doesn't know must be registered in XmpParser::initialize - Todo: Automate this
{ "http://purl.org/dc/elements/1.1/", "dc", xmpDcInfo, N_("Dublin Core schema") }, { "http://purl.org/dc/elements/1.1/", "dc", xmpDcInfo, N_("Dublin Core schema") },
{ "http://www.digikam.org/ns/1.0/", "digiKam", xmpDigikamInfo, N_("digiKam Photo Management schema") }, { "http://www.digikam.org/ns/1.0/", "digiKam", xmpDigikamInfo, N_("digiKam Photo Management schema") },
@ -486,7 +486,7 @@ namespace Exiv2 {
}; };
//! XMP crs:CropUnits //! XMP crs:CropUnits
extern const TagDetails crsCropUnits[] = { constexpr TagDetails crsCropUnits[] = {
{ 0, N_("pixels") }, { 0, N_("pixels") },
{ 1, N_("inches") }, { 1, N_("inches") },
{ 2, N_("cm") } { 2, N_("cm") }
@ -999,7 +999,7 @@ namespace Exiv2 {
}; };
//! XMP iptcExt:DigitalSourcefileType //! XMP iptcExt:DigitalSourcefileType
extern const TagVocabulary iptcExtDigitalSourcefileType[] = { constexpr TagVocabulary iptcExtDigitalSourcefileType[] = {
{ "scanfilm", N_("Scan from film") }, { "scanfilm", N_("Scan from film") },
{ "scantransparency", N_("Scan from transparency (including slide)") }, { "scantransparency", N_("Scan from transparency (including slide)") },
{ "scanprint", N_("Scan from print") }, { "scanprint", N_("Scan from print") },
@ -1099,21 +1099,21 @@ namespace Exiv2 {
}; };
//! XMP plus:AdultContentWarning //! XMP plus:AdultContentWarning
extern const TagVocabulary plusAdultContentWarning[] = { constexpr TagVocabulary plusAdultContentWarning[] = {
{ "CW-AWR", N_("Adult Content Warning Required") }, { "CW-AWR", N_("Adult Content Warning Required") },
{ "CW-NRQ", N_("Not Required") }, { "CW-NRQ", N_("Not Required") },
{ "CW-UNK", N_("Unknown") } { "CW-UNK", N_("Unknown") }
}; };
//! XMP plus:CopyrightStatus //! XMP plus:CopyrightStatus
extern const TagVocabulary plusCopyrightStatus[] = { constexpr TagVocabulary plusCopyrightStatus[] = {
{ "CS-PRO", N_("Protected") }, { "CS-PRO", N_("Protected") },
{ "CS-PUB", N_("Public Domain") }, { "CS-PUB", N_("Public Domain") },
{ "CS-UNK", N_("Unknown") } { "CS-UNK", N_("Unknown") }
}; };
//! XMP plus:CreditLineRequired //! XMP plus:CreditLineRequired
extern const TagVocabulary plusCreditLineRequired[] = { constexpr TagVocabulary plusCreditLineRequired[] = {
{ "CR-CAI", N_("Credit Adjacent To Image") }, { "CR-CAI", N_("Credit Adjacent To Image") },
{ "CR-CCA", N_("Credit in Credits Area") }, { "CR-CCA", N_("Credit in Credits Area") },
{ "CR-COI", N_("Credit on Image") }, { "CR-COI", N_("Credit on Image") },
@ -1121,7 +1121,7 @@ namespace Exiv2 {
}; };
//! XMP plus:ImageAlterationConstraints //! XMP plus:ImageAlterationConstraints
extern const TagVocabulary plusImageAlterationConstraints[] = { constexpr TagVocabulary plusImageAlterationConstraints[] = {
{ "AL-CLR", N_("No Colorization") }, { "AL-CLR", N_("No Colorization") },
{ "AL-CRP", N_("No Cropping") }, { "AL-CRP", N_("No Cropping") },
{ "AL-DCL", N_("No De-Colorization") }, { "AL-DCL", N_("No De-Colorization") },
@ -1131,14 +1131,14 @@ namespace Exiv2 {
}; };
//! XMP plus:ImageDuplicationConstraints //! XMP plus:ImageDuplicationConstraints
extern const TagVocabulary plusImageDuplicationConstraints[] = { constexpr TagVocabulary plusImageDuplicationConstraints[] = {
{ "DP-LIC", N_("Duplication Only as Necessary Under License") }, { "DP-LIC", N_("Duplication Only as Necessary Under License") },
{ "DP-NDC", N_("No Duplication Constraints") }, { "DP-NDC", N_("No Duplication Constraints") },
{ "DP-NOD", N_("No Duplication") } { "DP-NOD", N_("No Duplication") }
}; };
//! XMP plus:ImageFileConstraints //! XMP plus:ImageFileConstraints
extern const TagVocabulary plusImageFileConstraints[] = { constexpr TagVocabulary plusImageFileConstraints[] = {
{ "IF-MFN", N_("Maintain File Name") }, { "IF-MFN", N_("Maintain File Name") },
{ "IF-MFT", N_("Maintain File Type") }, { "IF-MFT", N_("Maintain File Type") },
{ "IF-MID", N_("Maintain ID in File Name") }, { "IF-MID", N_("Maintain ID in File Name") },
@ -1146,7 +1146,7 @@ namespace Exiv2 {
}; };
//! XMP plus:ImageFileFormatAsDelivered //! XMP plus:ImageFileFormatAsDelivered
extern const TagVocabulary plusImageFileFormatAsDelivered[] = { constexpr TagVocabulary plusImageFileFormatAsDelivered[] = {
{ "FF-BMP", N_("Windows Bitmap (BMP)") }, { "FF-BMP", N_("Windows Bitmap (BMP)") },
{ "FF-DNG", N_("Digital Negative (DNG)") }, { "FF-DNG", N_("Digital Negative (DNG)") },
{ "FF-EPS", N_("Encapsulated PostScript (EPS)") }, { "FF-EPS", N_("Encapsulated PostScript (EPS)") },
@ -1162,7 +1162,7 @@ namespace Exiv2 {
}; };
//! XMP plus:ImageFileSizeAsDelivered //! XMP plus:ImageFileSizeAsDelivered
extern const TagVocabulary plusImageFileSizeAsDelivered[] = { constexpr TagVocabulary plusImageFileSizeAsDelivered[] = {
{ "SZ-G50", N_("Greater than 50 MB") }, { "SZ-G50", N_("Greater than 50 MB") },
{ "SZ-U01", N_("Up to 1 MB") }, { "SZ-U01", N_("Up to 1 MB") },
{ "SZ-U10", N_("Up to 10 MB") }, { "SZ-U10", N_("Up to 10 MB") },
@ -1171,7 +1171,7 @@ namespace Exiv2 {
}; };
//! XMP plus:ImageType //! XMP plus:ImageType
extern const TagVocabulary plusImageType[] = { constexpr TagVocabulary plusImageType[] = {
{ "TY-ILL", N_("Illustrated Image") }, { "TY-ILL", N_("Illustrated Image") },
{ "TY-MCI", N_("Multimedia or Composited Image") }, { "TY-MCI", N_("Multimedia or Composited Image") },
{ "TY-OTR", N_("Other") }, { "TY-OTR", N_("Other") },
@ -1180,7 +1180,7 @@ namespace Exiv2 {
}; };
//! XMP plus:LicensorTelephoneType //! XMP plus:LicensorTelephoneType
extern const TagVocabulary plusLicensorTelephoneType[] = { constexpr TagVocabulary plusLicensorTelephoneType[] = {
{ "cell", N_("Cell") }, { "cell", N_("Cell") },
{ "fax", N_("FAX") }, { "fax", N_("FAX") },
{ "home", N_("Home") }, { "home", N_("Home") },
@ -1189,7 +1189,7 @@ namespace Exiv2 {
}; };
//! XMP plus:MinorModelAgeDisclosure //! XMP plus:MinorModelAgeDisclosure
extern const TagVocabulary plusMinorModelAgeDisclosure[] = { constexpr TagVocabulary plusMinorModelAgeDisclosure[] = {
{ "AG-UNK", N_("Age Unknown") }, { "AG-UNK", N_("Age Unknown") },
{ "AG-A25", N_("Age 25 or Over") }, { "AG-A25", N_("Age 25 or Over") },
{ "AG-A24", N_("Age 24") }, { "AG-A24", N_("Age 24") },
@ -1206,7 +1206,7 @@ namespace Exiv2 {
}; };
//! XMP plus:ModelReleaseStatus //! XMP plus:ModelReleaseStatus
extern const TagVocabulary plusModelReleaseStatus[] = { constexpr TagVocabulary plusModelReleaseStatus[] = {
{ "MR-NON", N_("None") }, { "MR-NON", N_("None") },
{ "MR-NAP", N_("Not Applicable") }, { "MR-NAP", N_("Not Applicable") },
{ "MR-UMR", N_("Unlimited Model Releases") }, { "MR-UMR", N_("Unlimited Model Releases") },
@ -1214,7 +1214,7 @@ namespace Exiv2 {
}; };
//! XMP plus:PropertyReleaseStatus //! XMP plus:PropertyReleaseStatus
extern const TagVocabulary plusPropertyReleaseStatus[] = { constexpr TagVocabulary plusPropertyReleaseStatus[] = {
{ "PR-NON", N_("None") }, { "PR-NON", N_("None") },
{ "PR-NAP", N_("Not Applicable") }, { "PR-NAP", N_("Not Applicable") },
{ "PR-UPR", N_("Unlimited Property Releases") }, { "PR-UPR", N_("Unlimited Property Releases") },
@ -1222,7 +1222,7 @@ namespace Exiv2 {
}; };
//! XMP plus:Reuse //! XMP plus:Reuse
extern const TagVocabulary plusReuse[] = { constexpr TagVocabulary plusReuse[] = {
{ "RE-NAP", N_("Not Applicable") }, { "RE-NAP", N_("Not Applicable") },
{ "RE-REU", N_("Repeat Use") } { "RE-REU", N_("Repeat Use") }
}; };

@ -38,7 +38,7 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! LensType, tag 0xa003 //! LensType, tag 0xa003
extern const TagDetails samsung2LensType[] = { constexpr TagDetails samsung2LensType[] = {
{ 0, N_("Built-in") }, { 0, N_("Built-in") },
{ 1, "Samsung NX 30mm F2 Pancake" }, { 1, "Samsung NX 30mm F2 Pancake" },
{ 2, "Samsung NX 18-55mm F3.5-5.6 OIS" }, { 2, "Samsung NX 18-55mm F3.5-5.6 OIS" },
@ -60,13 +60,13 @@ namespace Exiv2 {
}; };
//! ColorSpace, tag 0xa011 //! ColorSpace, tag 0xa011
extern const TagDetails samsung2ColorSpace[] = { constexpr TagDetails samsung2ColorSpace[] = {
{ 0, N_("sRGB") }, { 0, N_("sRGB") },
{ 1, N_("Adobe RGB") } { 1, N_("Adobe RGB") }
}; };
//! SmartRange, tag 0xa012 //! SmartRange, tag 0xa012
extern const TagDetails samsung2SmartRange[] = { constexpr TagDetails samsung2SmartRange[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") } { 1, N_("On") }
}; };
@ -102,39 +102,39 @@ namespace Exiv2 {
} }
// Samsung MakerNote Tag Info // Samsung MakerNote Tag Info
const TagInfo Samsung2MakerNote::tagInfo_[] = { constexpr TagInfo Samsung2MakerNote::tagInfo_[] = {
TagInfo(0x0001, "Version", N_("Version"), N_("Makernote version"), samsung2Id, makerTags, undefined, -1, printExifVersion), {0x0001, "Version", N_("Version"), N_("Makernote version"), samsung2Id, makerTags, undefined, -1, printExifVersion},
TagInfo(0x0021, "PictureWizard", N_("Picture Wizard"), N_("Picture wizard composite tag"), samsung2Id, makerTags, unsignedShort, -1, printValue), {0x0021, "PictureWizard", N_("Picture Wizard"), N_("Picture wizard composite tag"), samsung2Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x0030, "LocalLocationName", N_("Local Location Name"), N_("Local location name"), samsung2Id, makerTags, asciiString, -1, printValue), {0x0030, "LocalLocationName", N_("Local Location Name"), N_("Local location name"), samsung2Id, makerTags, asciiString, -1, printValue},
TagInfo(0x0031, "LocationName", N_("Location Name"), N_("Location name"), samsung2Id, makerTags, asciiString, -1, printValue), {0x0031, "LocationName", N_("Location Name"), N_("Location name"), samsung2Id, makerTags, asciiString, -1, printValue},
TagInfo(0x0035, "Preview", N_("Pointer to a preview image"), N_("Offset to an IFD containing a preview image"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0x0035, "Preview", N_("Pointer to a preview image"), N_("Offset to an IFD containing a preview image"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0043, "CameraTemperature", N_("Camera Temperature"), N_("Camera temperature"), samsung2Id, makerTags, signedRational, -1, printCameraTemperature), {0x0043, "CameraTemperature", N_("Camera Temperature"), N_("Camera temperature"), samsung2Id, makerTags, signedRational, -1, printCameraTemperature},
TagInfo(0xa001, "FirmwareName", N_("Firmware Name"), N_("Firmware name"), samsung2Id, makerTags, asciiString, -1, printValue), {0xa001, "FirmwareName", N_("Firmware Name"), N_("Firmware name"), samsung2Id, makerTags, asciiString, -1, printValue},
TagInfo(0xa003, "LensType", N_("Lens Type"), N_("Lens type"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2LensType)), {0xa003, "LensType", N_("Lens Type"), N_("Lens type"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2LensType)},
TagInfo(0xa004, "LensFirmware", N_("Lens Firmware"), N_("Lens firmware"), samsung2Id, makerTags, asciiString, -1, printValue), {0xa004, "LensFirmware", N_("Lens Firmware"), N_("Lens firmware"), samsung2Id, makerTags, asciiString, -1, printValue},
TagInfo(0xa010, "SensorAreas", N_("Sensor Areas"), N_("Sensor areas"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa010, "SensorAreas", N_("Sensor Areas"), N_("Sensor areas"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa011, "ColorSpace", N_("Color Space"), N_("Color space"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2ColorSpace)), {0xa011, "ColorSpace", N_("Color Space"), N_("Color space"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2ColorSpace)},
TagInfo(0xa012, "SmartRange", N_("Smart Range"), N_("Smart range"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2SmartRange)), {0xa012, "SmartRange", N_("Smart Range"), N_("Smart range"), samsung2Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(samsung2SmartRange)},
TagInfo(0xa013, "ExposureBiasValue", N_("Exposure Bias Value"), N_("Exposure bias value"), samsung2Id, makerTags, signedRational, -1, print0x9204), {0xa013, "ExposureBiasValue", N_("Exposure Bias Value"), N_("Exposure bias value"), samsung2Id, makerTags, signedRational, -1, print0x9204},
TagInfo(0xa014, "ISO", N_("ISO"), N_("ISO"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa014, "ISO", N_("ISO"), N_("ISO"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa018, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), samsung2Id, makerTags, unsignedRational, -1, print0x829a), {0xa018, "ExposureTime", N_("Exposure Time"), N_("Exposure time"), samsung2Id, makerTags, unsignedRational, -1, print0x829a},
TagInfo(0xa019, "FNumber", N_("FNumber"), N_("The F number."), samsung2Id, makerTags, unsignedRational, -1, print0x829d), {0xa019, "FNumber", N_("FNumber"), N_("The F number."), samsung2Id, makerTags, unsignedRational, -1, print0x829d},
TagInfo(0xa01a, "FocalLengthIn35mmFormat", N_("Focal Length In 35mm Format"), N_("Focal length in 35mm format"), samsung2Id, makerTags, unsignedLong, -1, printFocalLength35), {0xa01a, "FocalLengthIn35mmFormat", N_("Focal Length In 35mm Format"), N_("Focal length in 35mm format"), samsung2Id, makerTags, unsignedLong, -1, printFocalLength35},
TagInfo(0xa020, "EncryptionKey", N_("Encryption Key"), N_("Encryption key"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa020, "EncryptionKey", N_("Encryption Key"), N_("Encryption key"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa021, "WB_RGGBLevelsUncorrected", N_("WB RGGB Levels Uncorrected"), N_("WB RGGB levels not corrected for WB_RGGBLevelsBlack"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa021, "WB_RGGBLevelsUncorrected", N_("WB RGGB Levels Uncorrected"), N_("WB RGGB levels not corrected for WB_RGGBLevelsBlack"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa022, "WB_RGGBLevelsAuto", N_("WB RGGB Levels Auto"), N_("WB RGGB levels auto"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa022, "WB_RGGBLevelsAuto", N_("WB RGGB Levels Auto"), N_("WB RGGB levels auto"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa023, "WB_RGGBLevelsIlluminator1", N_("WB RGGB Levels Illuminator1"), N_("WB RGGB levels illuminator1"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa023, "WB_RGGBLevelsIlluminator1", N_("WB RGGB Levels Illuminator1"), N_("WB RGGB levels illuminator1"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa024, "WB_RGGBLevelsIlluminator2", N_("WB RGGB Levels Illuminator2"), N_("WB RGGB levels illuminator2"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa024, "WB_RGGBLevelsIlluminator2", N_("WB RGGB Levels Illuminator2"), N_("WB RGGB levels illuminator2"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa028, "WB_RGGBLevelsBlack", N_("WB RGGB Levels Black"), N_("WB RGGB levels black"), samsung2Id, makerTags, signedLong, -1, printValue), {0xa028, "WB_RGGBLevelsBlack", N_("WB RGGB Levels Black"), N_("WB RGGB levels black"), samsung2Id, makerTags, signedLong, -1, printValue},
TagInfo(0xa030, "ColorMatrix", N_("Color Matrix"), N_("Color matrix"), samsung2Id, makerTags, signedLong, -1, printValue), {0xa030, "ColorMatrix", N_("Color Matrix"), N_("Color matrix"), samsung2Id, makerTags, signedLong, -1, printValue},
TagInfo(0xa031, "ColorMatrixSRGB", N_("Color Matrix sRGB"), N_("Color matrix sRGB"), samsung2Id, makerTags, signedLong, -1, printValue), {0xa031, "ColorMatrixSRGB", N_("Color Matrix sRGB"), N_("Color matrix sRGB"), samsung2Id, makerTags, signedLong, -1, printValue},
TagInfo(0xa032, "ColorMatrixAdobeRGB", N_("Color Matrix Adobe RGB"), N_("Color matrix Adobe RGB"), samsung2Id, makerTags, signedLong, -1, printValue), {0xa032, "ColorMatrixAdobeRGB", N_("Color Matrix Adobe RGB"), N_("Color matrix Adobe RGB"), samsung2Id, makerTags, signedLong, -1, printValue},
TagInfo(0xa040, "ToneCurve1", N_("Tone Curve 1"), N_("Tone curve 1"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa040, "ToneCurve1", N_("Tone Curve 1"), N_("Tone curve 1"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa041, "ToneCurve2", N_("Tone Curve 2"), N_("Tone curve 2"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa041, "ToneCurve2", N_("Tone Curve 2"), N_("Tone curve 2"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa042, "ToneCurve3", N_("Tone Curve 3"), N_("Tone curve 3"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa042, "ToneCurve3", N_("Tone Curve 3"), N_("Tone curve 3"), samsung2Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xa043, "ToneCurve4", N_("Tone Curve 4"), N_("Tone curve 4"), samsung2Id, makerTags, unsignedLong, -1, printValue), {0xa043, "ToneCurve4", N_("Tone Curve 4"), N_("Tone curve 4"), samsung2Id, makerTags, unsignedLong, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSamsung2MakerNoteTag)", "(UnknownSamsung2MakerNoteTag)", N_("Unknown Samsung2MakerNote tag"), samsung2Id, makerTags, undefined, -1, printValue) {0xffff, "(UnknownSamsung2MakerNoteTag)", "(UnknownSamsung2MakerNoteTag)", N_("Unknown Samsung2MakerNote tag"), samsung2Id, makerTags, undefined, -1, printValue},
}; };
const TagInfo* Samsung2MakerNote::tagList() const TagInfo* Samsung2MakerNote::tagList()
@ -143,7 +143,7 @@ namespace Exiv2 {
} }
//! PictureWizard Mode //! PictureWizard Mode
extern const TagDetails samsungPwMode[] = { constexpr TagDetails samsungPwMode[] = {
{ 0, N_("Standard") }, { 0, N_("Standard") },
{ 1, N_("Vivid") }, { 1, N_("Vivid") },
{ 2, N_("Portrait") }, { 2, N_("Portrait") },
@ -182,14 +182,14 @@ namespace Exiv2 {
} }
// Samsung PictureWizard Tag Info // Samsung PictureWizard Tag Info
const TagInfo Samsung2MakerNote::tagInfoPw_[] = { constexpr TagInfo Samsung2MakerNote::tagInfoPw_[] = {
TagInfo(0x0000, "Mode", N_("Mode"), N_("Mode"), samsungPwId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(samsungPwMode)), {0x0000, "Mode", N_("Mode"), N_("Mode"), samsungPwId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(samsungPwMode)},
TagInfo(0x0001, "Color", N_("Color"), N_("Color"), samsungPwId, makerTags, unsignedShort, 1, printPwColor), {0x0001, "Color", N_("Color"), N_("Color"), samsungPwId, makerTags, unsignedShort, 1, printPwColor},
TagInfo(0x0002, "Saturation", N_("Saturation"), N_("Saturation"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), {0x0002, "Saturation", N_("Saturation"), N_("Saturation"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4},
TagInfo(0x0003, "Sharpness", N_("Sharpness"), N_("Sharpness"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), {0x0003, "Sharpness", N_("Sharpness"), N_("Sharpness"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4},
TagInfo(0x0004, "Contrast", N_("Contrast"), N_("Contrast"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4), {0x0004, "Contrast", N_("Contrast"), N_("Contrast"), samsungPwId, makerTags, unsignedShort, 1, printValueMinus4},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSamsungPictureWizardTag)", "(UnknownSamsungPictureWizardTag)", N_("Unknown SamsungPictureWizard tag"), samsungPwId, makerTags, unsignedShort, 1, printValue) {0xffff, "(UnknownSamsungPictureWizardTag)", "(UnknownSamsungPictureWizardTag)", N_("Unknown SamsungPictureWizard tag"), samsungPwId, makerTags, unsignedShort, 1, printValue},
}; };
const TagInfo* Samsung2MakerNote::tagListPw() const TagInfo* Samsung2MakerNote::tagListPw()

@ -38,80 +38,80 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
// Sigma (Foveon) MakerNote Tag Info // Sigma (Foveon) MakerNote Tag Info
const TagInfo SigmaMakerNote::tagInfo_[] = { constexpr TagInfo SigmaMakerNote::tagInfo_[] = {
TagInfo(0x0002, "SerialNumber", N_("Serial Number"), {0x0002, "SerialNumber", N_("Serial Number"),
N_("Camera serial number"), N_("Camera serial number"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0003, "DriveMode", N_("Drive Mode"), {0x0003, "DriveMode", N_("Drive Mode"),
N_("Drive mode"), N_("Drive mode"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0004, "ResolutionMode", N_("Resolution Mode"), {0x0004, "ResolutionMode", N_("Resolution Mode"),
N_("Resolution mode"), N_("Resolution mode"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0005, "AutofocusMode", N_("Autofocus Mode"), {0x0005, "AutofocusMode", N_("Autofocus Mode"),
N_("Autofocus mode"), N_("Autofocus mode"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0006, "FocusSetting", N_("Focus Setting"), {0x0006, "FocusSetting", N_("Focus Setting"),
N_("Focus setting"), N_("Focus setting"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0007, "WhiteBalance", N_("White Balance"), {0x0007, "WhiteBalance", N_("White Balance"),
N_("White balance"), N_("White balance"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0008, "ExposureMode", N_("Exposure Mode"), {0x0008, "ExposureMode", N_("Exposure Mode"),
N_("Exposure mode"), N_("Exposure mode"),
sigmaId, makerTags, asciiString, -1, print0x0008), sigmaId, makerTags, asciiString, -1, print0x0008},
TagInfo(0x0009, "MeteringMode", N_("Metering Mode"), {0x0009, "MeteringMode", N_("Metering Mode"),
N_("Metering mode"), N_("Metering mode"),
sigmaId, makerTags, asciiString, -1, print0x0009), sigmaId, makerTags, asciiString, -1, print0x0009},
TagInfo(0x000a, "LensRange", N_("Lens Range"), {0x000a, "LensRange", N_("Lens Range"),
N_("Lens focal length range"), N_("Lens focal length range"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x000b, "ColorSpace", N_("Color Space"), {0x000b, "ColorSpace", N_("Color Space"),
N_("Color space"), N_("Color space"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x000c, "Exposure", N_("Exposure"), {0x000c, "Exposure", N_("Exposure"),
N_("Exposure"), N_("Exposure"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x000d, "Contrast", N_("Contrast"), {0x000d, "Contrast", N_("Contrast"),
N_("Contrast"), N_("Contrast"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x000e, "Shadow", N_("Shadow"), {0x000e, "Shadow", N_("Shadow"),
N_("Shadow"), N_("Shadow"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x000f, "Highlight", N_("Highlight"), {0x000f, "Highlight", N_("Highlight"),
N_("Highlight"), N_("Highlight"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0010, "Saturation", N_("Saturation"), {0x0010, "Saturation", N_("Saturation"),
N_("Saturation"), N_("Saturation"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0011, "Sharpness", N_("Sharpness"), {0x0011, "Sharpness", N_("Sharpness"),
N_("Sharpness"), N_("Sharpness"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0012, "FillLight", N_("Fill Light"), {0x0012, "FillLight", N_("Fill Light"),
N_("X3 Fill light"), N_("X3 Fill light"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0014, "ColorAdjustment", N_("Color Adjustment"), {0x0014, "ColorAdjustment", N_("Color Adjustment"),
N_("Color adjustment"), N_("Color adjustment"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0015, "AdjustmentMode", N_("Adjustment Mode"), {0x0015, "AdjustmentMode", N_("Adjustment Mode"),
N_("Adjustment mode"), N_("Adjustment mode"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0016, "Quality", N_("Quality"), {0x0016, "Quality", N_("Quality"),
N_("Quality"), N_("Quality"),
sigmaId, makerTags, asciiString, -1, printStripLabel), sigmaId, makerTags, asciiString, -1, printStripLabel},
TagInfo(0x0017, "Firmware", N_("Firmware"), {0x0017, "Firmware", N_("Firmware"),
N_("Firmware"), N_("Firmware"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0018, "Software", N_("Software"), {0x0018, "Software", N_("Software"),
N_("Software"), N_("Software"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
TagInfo(0x0019, "AutoBracket", N_("Auto Bracket"), {0x0019, "AutoBracket", N_("Auto Bracket"),
N_("Auto bracket"), N_("Auto bracket"),
sigmaId, makerTags, asciiString, -1, printValue), sigmaId, makerTags, asciiString, -1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSigmaMakerNoteTag)", "(UnknownSigmaMakerNoteTag)", {0xffff, "(UnknownSigmaMakerNoteTag)", "(UnknownSigmaMakerNoteTag)",
N_("Unknown SigmaMakerNote tag"), N_("Unknown SigmaMakerNote tag"),
sigmaId, makerTags, asciiString, -1, printValue) sigmaId, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* SigmaMakerNote::tagList() const TagInfo* SigmaMakerNote::tagList()

@ -42,7 +42,7 @@ namespace Exiv2 {
// -- Standard Sony Makernotes tags --------------------------------------------------------------- // -- Standard Sony Makernotes tags ---------------------------------------------------------------
//! Lookup table to translate Sony Auto HDR values to readable labels //! Lookup table to translate Sony Auto HDR values to readable labels
extern const TagDetails sonyHDRMode[] = { constexpr TagDetails sonyHDRMode[] = {
{ 0x00000, N_("Off") }, { 0x00000, N_("Off") },
{ 0x10001, N_("Auto") }, { 0x10001, N_("Auto") },
{ 0x10010, "1" }, { 0x10010, "1" },
@ -53,7 +53,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony model ID values to readable labels //! Lookup table to translate Sony model ID values to readable labels
extern const TagDetails sonyModelId[] = { constexpr TagDetails sonyModelId[] = {
{ 2, "DSC-R1" }, { 2, "DSC-R1" },
{ 256, "DSLR-A100" }, { 256, "DSLR-A100" },
{ 257, "DSLR-A900" }, { 257, "DSLR-A900" },
@ -124,7 +124,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony dynamic range optimizer values to readable labels //! Lookup table to translate Sony dynamic range optimizer values to readable labels
extern const TagDetails print0xb025[] = { constexpr TagDetails print0xb025[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 2, N_("Advanced Auto") }, { 2, N_("Advanced Auto") },
@ -142,7 +142,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony exposure mode values to readable labels //! Lookup table to translate Sony exposure mode values to readable labels
extern const TagDetails sonyExposureMode[] = { constexpr TagDetails sonyExposureMode[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Portrait") }, { 1, N_("Portrait") },
{ 2, N_("Beach") }, { 2, N_("Beach") },
@ -177,7 +177,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony JPEG Quality values to readable labels //! Lookup table to translate Sony JPEG Quality values to readable labels
extern const TagDetails sonyJPEGQuality[] = { constexpr TagDetails sonyJPEGQuality[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 1, N_("Fine") }, { 1, N_("Fine") },
{ 2, N_("Extra Fine") }, { 2, N_("Extra Fine") },
@ -185,7 +185,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony anti-blur values to readable labels //! Lookup table to translate Sony anti-blur values to readable labels
extern const TagDetails sonyAntiBlur[] = { constexpr TagDetails sonyAntiBlur[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On (Continuous)") }, { 1, N_("On (Continuous)") },
{ 2, N_("On (Shooting)") }, { 2, N_("On (Shooting)") },
@ -193,21 +193,21 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony dynamic range optimizer values to readable labels //! Lookup table to translate Sony dynamic range optimizer values to readable labels
extern const TagDetails print0xb04f[] = { constexpr TagDetails print0xb04f[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 2, N_("Plus") } { 2, N_("Plus") }
}; };
//! Lookup table to translate Sony Intelligent Auto values to readable labels //! Lookup table to translate Sony Intelligent Auto values to readable labels
extern const TagDetails sonyIntelligentAuto[] = { constexpr TagDetails sonyIntelligentAuto[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Advanced") } { 2, N_("Advanced") }
}; };
//! Lookup table to translate Sony WB values to readable labels //! Lookup table to translate Sony WB values to readable labels
extern const TagDetails sonyWhiteBalance[] = { constexpr TagDetails sonyWhiteBalance[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 4, N_("Manual") }, { 4, N_("Manual") },
{ 5, N_("Daylight") }, { 5, N_("Daylight") },
@ -224,7 +224,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony AF mode values to readable labels //! Lookup table to translate Sony AF mode values to readable labels
extern const TagDetails sonyFocusMode[] = { constexpr TagDetails sonyFocusMode[] = {
{ 1, "AF-S" }, { 1, "AF-S" },
{ 2, "AF-C" }, { 2, "AF-C" },
{ 4, N_("Permanent-AF") }, { 4, N_("Permanent-AF") },
@ -232,7 +232,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony AF mode values to readable labels //! Lookup table to translate Sony AF mode values to readable labels
extern const TagDetails sonyAFMode[] = { constexpr TagDetails sonyAFMode[] = {
{ 0, N_("Default") }, { 0, N_("Default") },
{ 1, N_("Multi AF") }, { 1, N_("Multi AF") },
{ 2, N_("Center AF") }, { 2, N_("Center AF") },
@ -245,14 +245,14 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony AF illuminator values to readable labels //! Lookup table to translate Sony AF illuminator values to readable labels
extern const TagDetails sonyAFIlluminator[] = { constexpr TagDetails sonyAFIlluminator[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("Auto") }, { 1, N_("Auto") },
{ 65535, N_("n/a") } { 65535, N_("n/a") }
}; };
//! Lookup table to translate Sony macro mode values to readable labels //! Lookup table to translate Sony macro mode values to readable labels
extern const TagDetails sonyMacroMode[] = { constexpr TagDetails sonyMacroMode[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 2, N_("Close Focus") }, { 2, N_("Close Focus") },
@ -260,7 +260,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony flash level values to readable labels //! Lookup table to translate Sony flash level values to readable labels
extern const TagDetails sonyFlashLevel[] = { constexpr TagDetails sonyFlashLevel[] = {
{ -32768, N_("Low") }, { -32768, N_("Low") },
{ -1, N_("n/a") }, { -1, N_("n/a") },
{ 0, N_("Normal") }, { 0, N_("Normal") },
@ -268,7 +268,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony release mode values to readable labels //! Lookup table to translate Sony release mode values to readable labels
extern const TagDetails sonyReleaseMode[] = { constexpr TagDetails sonyReleaseMode[] = {
{ 0, N_("Normal") }, { 0, N_("Normal") },
{ 2, N_("Burst") }, { 2, N_("Burst") },
{ 5, N_("Exposure Bracketing") }, { 5, N_("Exposure Bracketing") },
@ -277,13 +277,13 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony sequence number values to readable labels //! Lookup table to translate Sony sequence number values to readable labels
extern const TagDetails sonySequenceNumber[] = { constexpr TagDetails sonySequenceNumber[] = {
{ 0, N_("Single") }, { 0, N_("Single") },
{ 65535, N_("n/a") } { 65535, N_("n/a") }
}; };
//! Lookup table to translate Sony long exposure noise reduction values to readable labels //! Lookup table to translate Sony long exposure noise reduction values to readable labels
extern const TagDetails sonyLongExposureNoiseReduction[] = { constexpr TagDetails sonyLongExposureNoiseReduction[] = {
{ 0, N_("Off") }, { 0, N_("Off") },
{ 1, N_("On") }, { 1, N_("On") },
{ 65535, N_("n/a") } { 65535, N_("n/a") }
@ -323,169 +323,169 @@ namespace Exiv2 {
} }
// Sony MakerNote Tag Info // Sony MakerNote Tag Info
const TagInfo SonyMakerNote::tagInfo_[] = { constexpr TagInfo SonyMakerNote::tagInfo_[] = {
TagInfo(0x0102, "Quality", N_("Image Quality"), {0x0102, "Quality", N_("Image Quality"),
N_("Image quality"), N_("Image quality"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyImageQuality), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyImageQuality},
TagInfo(0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"), {0x0104, "FlashExposureComp", N_("Flash Exposure Compensation"),
N_("Flash exposure compensation in EV"), N_("Flash exposure compensation in EV"),
sony1Id, makerTags, signedRational, -1, print0x9204), sony1Id, makerTags, signedRational, -1, print0x9204},
TagInfo(0x0105, "Teleconverter", N_("Teleconverter Model"), {0x0105, "Teleconverter", N_("Teleconverter Model"),
N_("Teleconverter Model"), N_("Teleconverter Model"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyTeleconverterModel), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyTeleconverterModel},
TagInfo(0x0112, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), {0x0112, "WhiteBalanceFineTune", N_("White Balance Fine Tune"),
N_("White Balance Fine Tune Value"), N_("White Balance Fine Tune Value"),
sony1Id, makerTags, unsignedLong, -1, printValue), sony1Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0x0114, "CameraSettings", N_("Camera Settings"), {0x0114, "CameraSettings", N_("Camera Settings"),
N_("Camera Settings"), N_("Camera Settings"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x0115, "WhiteBalance", N_("White Balance"), {0x0115, "WhiteBalance", N_("White Balance"),
N_("White balance"), N_("White balance"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyWhiteBalanceStd), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyWhiteBalanceStd},
TagInfo(0x0116, "0x0116", "0x0116", {0x0116, "0x0116", "0x0116",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x0E00, "PrintIM", N_("Print IM"), {0x0E00, "PrintIM", N_("Print IM"),
N_("PrintIM information"), N_("PrintIM information"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x1000, "MultiBurstMode", N_("Multi Burst Mode"), {0x1000, "MultiBurstMode", N_("Multi Burst Mode"),
N_("Multi Burst Mode"), N_("Multi Burst Mode"),
sony1Id, makerTags, undefined, -1, printMinoltaSonyBoolValue), sony1Id, makerTags, undefined, -1, printMinoltaSonyBoolValue},
TagInfo(0x1001, "MultiBurstImageWidth", N_("Multi Burst Image Width"), {0x1001, "MultiBurstImageWidth", N_("Multi Burst Image Width"),
N_("Multi Burst Image Width"), N_("Multi Burst Image Width"),
sony1Id, makerTags, unsignedShort, -1, printValue), sony1Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x1002, "MultiBurstImageHeight", N_("Multi Burst Image Height"), {0x1002, "MultiBurstImageHeight", N_("Multi Burst Image Height"),
N_("Multi Burst Image Height"), N_("Multi Burst Image Height"),
sony1Id, makerTags, unsignedShort, -1, printValue), sony1Id, makerTags, unsignedShort, -1, printValue},
// TODO : Implement Panorama tags decoding. // TODO : Implement Panorama tags decoding.
TagInfo(0x1003, "Panorama", N_("Panorama"), {0x1003, "Panorama", N_("Panorama"),
N_("Panorama"), N_("Panorama"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x2000, "0x2000", "0x2000", {0x2000, "0x2000", "0x2000",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x2001, "PreviewImage", N_("Preview Image"), {0x2001, "PreviewImage", N_("Preview Image"),
N_("JPEG preview image"), N_("JPEG preview image"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0x2002, "0x2002", "0x2002", {0x2002, "0x2002", "0x2002",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, unsignedLong, -1, printValue), sony1Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0x2003, "0x2003", "0x2003", {0x2003, "0x2003", "0x2003",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, asciiString, -1, printValue), sony1Id, makerTags, asciiString, -1, printValue},
TagInfo(0x2004, "Contrast", "Contrast", {0x2004, "Contrast", "Contrast",
N_("Contrast"), N_("Contrast"),
sony1Id, makerTags, signedLong, -1, printValue), sony1Id, makerTags, signedLong, -1, printValue},
TagInfo(0x2005, "Saturation", "Saturation", {0x2005, "Saturation", "Saturation",
N_("Saturation"), N_("Saturation"),
sony1Id, makerTags, signedLong, -1, printValue), sony1Id, makerTags, signedLong, -1, printValue},
TagInfo(0x2006, "0x2006", "0x2006", {0x2006, "0x2006", "0x2006",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, signedLong, -1, printValue), sony1Id, makerTags, signedLong, -1, printValue},
TagInfo(0x2007, "0x2007", "0x2007", {0x2007, "0x2007", "0x2007",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, signedLong, -1, printValue), sony1Id, makerTags, signedLong, -1, printValue},
TagInfo(0x2008, "0x2008", "0x2008", {0x2008, "0x2008", "0x2008",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, signedLong, -1, printValue), sony1Id, makerTags, signedLong, -1, printValue},
TagInfo(0x2009, "0x2009", "0x2009", {0x2009, "0x2009", "0x2009",
N_("Unknown"), N_("Unknown"),
sony1Id, makerTags, unsignedShort, -1, printValue), sony1Id, makerTags, unsignedShort, -1, printValue},
TagInfo(0x200A, "AutoHDR", N_("Auto HDR"), {0x200A, "AutoHDR", N_("Auto HDR"),
N_("High Definition Range Mode"), N_("High Definition Range Mode"),
sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(sonyHDRMode)), sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(sonyHDRMode)},
// TODO : Implement Shot Info tags decoding. // TODO : Implement Shot Info tags decoding.
TagInfo(0x3000, "ShotInfo", N_("Shot Info"), {0x3000, "ShotInfo", N_("Shot Info"),
N_("Shot Information"), N_("Shot Information"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0xB000, "FileFormat", N_("File Format"), {0xB000, "FileFormat", N_("File Format"),
N_("File Format"), N_("File Format"),
sony1Id, makerTags, unsignedByte, -1, print0xb000), sony1Id, makerTags, unsignedByte, -1, print0xb000},
TagInfo(0xB001, "SonyModelID", N_("Sony Model ID"), {0xB001, "SonyModelID", N_("Sony Model ID"),
N_("Sony Model ID"), N_("Sony Model ID"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyModelId)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyModelId)},
TagInfo(0xB020, "ColorReproduction", N_("Color Reproduction"), {0xB020, "ColorReproduction", N_("Color Reproduction"),
N_("Color Reproduction"), N_("Color Reproduction"),
sony1Id, makerTags, asciiString, -1, printValue), sony1Id, makerTags, asciiString, -1, printValue},
TagInfo(0xb021, "ColorTemperature", N_("Color Temperature"), {0xb021, "ColorTemperature", N_("Color Temperature"),
N_("Color Temperature"), N_("Color Temperature"),
sony1Id, makerTags, unsignedLong, -1, printValue), sony1Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xB022, "ColorCompensationFilter", N_("Color Compensation Filter"), {0xB022, "ColorCompensationFilter", N_("Color Compensation Filter"),
N_("Color Compensation Filter: negative is green, positive is magenta"), N_("Color Compensation Filter: negative is green, positive is magenta"),
sony1Id, makerTags, unsignedLong, -1, printValue), sony1Id, makerTags, unsignedLong, -1, printValue},
TagInfo(0xB023, "SceneMode", N_("Scene Mode"), {0xB023, "SceneMode", N_("Scene Mode"),
N_("Scene Mode"), N_("Scene Mode"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonySceneMode), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonySceneMode},
TagInfo(0xB024, "ZoneMatching", N_("Zone Matching"), {0xB024, "ZoneMatching", N_("Zone Matching"),
N_("Zone Matching"), N_("Zone Matching"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyZoneMatching), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyZoneMatching},
TagInfo(0xB025, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"), {0xB025, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"),
N_("Dynamic Range Optimizer"), N_("Dynamic Range Optimizer"),
sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(print0xb025)), sony1Id, makerTags, unsignedLong, -1, EXV_PRINT_TAG(print0xb025)},
TagInfo(0xB026, "ImageStabilization", N_("Image Stabilization"), {0xB026, "ImageStabilization", N_("Image Stabilization"),
N_("Image stabilization"), N_("Image stabilization"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyBoolValue), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyBoolValue},
TagInfo(0xB027, "LensID", N_("Lens ID"), {0xB027, "LensID", N_("Lens ID"),
N_("Lens identifier"), N_("Lens identifier"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyLensID), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyLensID},
TagInfo(0xB028, "MinoltaMakerNote", N_("Minolta MakerNote"), {0xB028, "MinoltaMakerNote", N_("Minolta MakerNote"),
N_("Minolta MakerNote"), N_("Minolta MakerNote"),
sony1Id, makerTags, undefined, -1, printValue), sony1Id, makerTags, undefined, -1, printValue},
TagInfo(0xB029, "ColorMode", N_("Color Mode"), {0xB029, "ColorMode", N_("Color Mode"),
N_("Color Mode"), N_("Color Mode"),
sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyColorMode), sony1Id, makerTags, unsignedLong, -1, printMinoltaSonyColorMode},
TagInfo(0xB02B, "FullImageSize", N_("Full Image Size"), {0xB02B, "FullImageSize", N_("Full Image Size"),
N_("Full Image Size"), N_("Full Image Size"),
sony1Id, makerTags, unsignedLong, -1, printImageSize), sony1Id, makerTags, unsignedLong, -1, printImageSize},
TagInfo(0xB02C, "PreviewImageSize", N_("Preview Image Size"), {0xB02C, "PreviewImageSize", N_("Preview Image Size"),
N_("Preview image size"), N_("Preview image size"),
sony1Id, makerTags, unsignedLong, -1, printImageSize), sony1Id, makerTags, unsignedLong, -1, printImageSize},
TagInfo(0xB040, "Macro", N_("Macro"), {0xB040, "Macro", N_("Macro"),
N_("Macro"), N_("Macro"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyMacroMode)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyMacroMode)},
TagInfo(0xB041, "ExposureMode", N_("Exposure Mode"), {0xB041, "ExposureMode", N_("Exposure Mode"),
N_("Exposure Mode"), N_("Exposure Mode"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyExposureMode)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyExposureMode)},
TagInfo(0xB042, "FocusMode", N_("Focus Mode"), {0xB042, "FocusMode", N_("Focus Mode"),
N_("Focus Mode"), N_("Focus Mode"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyFocusMode)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyFocusMode)},
TagInfo(0xB043, "AFMode", N_("AF Mode"), {0xB043, "AFMode", N_("AF Mode"),
N_("AF Mode"), N_("AF Mode"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFMode)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFMode)},
TagInfo(0xB044, "AFIlluminator", N_("AF Illuminator"), {0xB044, "AFIlluminator", N_("AF Illuminator"),
N_("AF Illuminator"), N_("AF Illuminator"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFIlluminator)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAFIlluminator)},
TagInfo(0xB047, "JPEGQuality", N_("JPEG Quality"), {0xB047, "JPEGQuality", N_("JPEG Quality"),
N_("JPEG Quality"), N_("JPEG Quality"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyJPEGQuality)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyJPEGQuality)},
TagInfo(0xB048, "FlashLevel", N_("Flash Level"), {0xB048, "FlashLevel", N_("Flash Level"),
N_("Flash Level"), N_("Flash Level"),
sony1Id, makerTags, signedShort, -1, EXV_PRINT_TAG(sonyFlashLevel)), sony1Id, makerTags, signedShort, -1, EXV_PRINT_TAG(sonyFlashLevel)},
TagInfo(0xB049, "ReleaseMode", N_("Release Mode"), {0xB049, "ReleaseMode", N_("Release Mode"),
N_("Release Mode"), N_("Release Mode"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyReleaseMode)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyReleaseMode)},
TagInfo(0xB04A, "SequenceNumber", N_("Sequence Number"), {0xB04A, "SequenceNumber", N_("Sequence Number"),
N_("Shot number in continuous burst mode"), N_("Shot number in continuous burst mode"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonySequenceNumber)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonySequenceNumber)},
TagInfo(0xB04B, "AntiBlur", N_("Anti-Blur"), {0xB04B, "AntiBlur", N_("Anti-Blur"),
N_("Anti-Blur"), N_("Anti-Blur"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAntiBlur)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyAntiBlur)},
TagInfo(0xB04E, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), {0xB04E, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"),
N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyLongExposureNoiseReduction)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyLongExposureNoiseReduction)},
TagInfo(0xB04F, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"), {0xB04F, "DynamicRangeOptimizer", N_("Dynamic Range Optimizer"),
N_("Dynamic Range Optimizer"), N_("Dynamic Range Optimizer"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(print0xb04f)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(print0xb04f)},
TagInfo(0xB052, "IntelligentAuto", N_("Intelligent Auto"), {0xB052, "IntelligentAuto", N_("Intelligent Auto"),
N_("Intelligent Auto"), N_("Intelligent Auto"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyIntelligentAuto)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyIntelligentAuto)},
TagInfo(0xB054, "WhiteBalance2", N_("White Balance 2"), {0xB054, "WhiteBalance2", N_("White Balance 2"),
N_("White balance 2"), N_("White balance 2"),
sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyWhiteBalance)), sony1Id, makerTags, unsignedShort, -1, EXV_PRINT_TAG(sonyWhiteBalance)},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSony1MakerNoteTag)", "(UnknownSony1MakerNoteTag)", {0xffff, "(UnknownSony1MakerNoteTag)", "(UnknownSony1MakerNoteTag)",
N_("Unknown Sony1MakerNote tag"), N_("Unknown Sony1MakerNote tag"),
sony1Id, makerTags, asciiString, -1, printValue) sony1Id, makerTags, asciiString, -1, printValue},
}; };
const TagInfo* SonyMakerNote::tagList() const TagInfo* SonyMakerNote::tagList()
@ -496,7 +496,7 @@ namespace Exiv2 {
// -- Sony camera settings --------------------------------------------------------------- // -- Sony camera settings ---------------------------------------------------------------
//! Lookup table to translate Sony camera settings drive mode values to readable labels //! Lookup table to translate Sony camera settings drive mode values to readable labels
extern const TagDetails sonyDriveModeStd[] = { constexpr TagDetails sonyDriveModeStd[] = {
{ 0x01, N_("Single Frame") }, { 0x01, N_("Single Frame") },
{ 0x02, N_("Continuous High") }, { 0x02, N_("Continuous High") },
{ 0x04, N_("Self-timer 10 sec") }, { 0x04, N_("Self-timer 10 sec") },
@ -514,7 +514,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony camera settings focus mode values to readable labels //! Lookup table to translate Sony camera settings focus mode values to readable labels
extern const TagDetails sonyCSFocusMode[] = { constexpr TagDetails sonyCSFocusMode[] = {
{ 0, N_("Manual") }, { 0, N_("Manual") },
{ 1, "AF-S" }, { 1, "AF-S" },
{ 2, "AF-C" }, { 2, "AF-C" },
@ -522,14 +522,14 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony camera settings metering mode values to readable labels //! Lookup table to translate Sony camera settings metering mode values to readable labels
extern const TagDetails sonyMeteringMode[] = { constexpr TagDetails sonyMeteringMode[] = {
{ 1, N_("Multi-segment") }, { 1, N_("Multi-segment") },
{ 2, N_("Center weighted average") }, { 2, N_("Center weighted average") },
{ 4, N_("Spot") } { 4, N_("Spot") }
}; };
//! Lookup table to translate Sony camera settings creative style values to readable labels //! Lookup table to translate Sony camera settings creative style values to readable labels
extern const TagDetails sonyCreativeStyle[] = { constexpr TagDetails sonyCreativeStyle[] = {
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 2, N_("Vivid") }, { 2, N_("Vivid") },
{ 3, N_("Portrait") }, { 3, N_("Portrait") },
@ -547,19 +547,19 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony camera settings flash mode values to readable labels //! Lookup table to translate Sony camera settings flash mode values to readable labels
extern const TagDetails sonyFlashMode[] = { constexpr TagDetails sonyFlashMode[] = {
{ 0, N_("ADI") }, { 0, N_("ADI") },
{ 1, N_("TTL") }, { 1, N_("TTL") },
}; };
//! Lookup table to translate Sony AF illuminator values to readable labels //! Lookup table to translate Sony AF illuminator values to readable labels
extern const TagDetails sonyAFIlluminatorCS[] = { constexpr TagDetails sonyAFIlluminatorCS[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Off") } { 1, N_("Off") }
}; };
//! Lookup table to translate Sony camera settings image style values to readable labels //! Lookup table to translate Sony camera settings image style values to readable labels
extern const TagDetails sonyImageStyle[] = { constexpr TagDetails sonyImageStyle[] = {
{ 1, N_("Standard") }, { 1, N_("Standard") },
{ 2, N_("Vivid") }, { 2, N_("Vivid") },
{ 3, N_("Portrait") }, { 3, N_("Portrait") },
@ -578,7 +578,7 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony camera settings exposure program values to readable labels //! Lookup table to translate Sony camera settings exposure program values to readable labels
extern const TagDetails sonyExposureProgram[] = { constexpr TagDetails sonyExposureProgram[] = {
{ 0, N_("Auto") }, { 0, N_("Auto") },
{ 1, N_("Manual") }, { 1, N_("Manual") },
{ 2, N_("Program AE") }, { 2, N_("Program AE") },
@ -596,20 +596,20 @@ namespace Exiv2 {
}; };
//! Lookup table to translate Sony camera settings image size values to readable labels //! Lookup table to translate Sony camera settings image size values to readable labels
extern const TagDetails sonyImageSize[] = { constexpr TagDetails sonyImageSize[] = {
{ 1, N_("Large") }, { 1, N_("Large") },
{ 2, N_("Medium") }, { 2, N_("Medium") },
{ 3, N_("Small") } { 3, N_("Small") }
}; };
//! Lookup table to translate Sony aspect ratio values to readable labels //! Lookup table to translate Sony aspect ratio values to readable labels
extern const TagDetails sonyAspectRatio[] = { constexpr TagDetails sonyAspectRatio[] = {
{ 1, "3:2" }, { 1, "3:2" },
{ 2, "16:9" } { 2, "16:9" }
}; };
//! Lookup table to translate Sony exposure level increments values to readable labels //! Lookup table to translate Sony exposure level increments values to readable labels
extern const TagDetails sonyExposureLevelIncrements[] = { constexpr TagDetails sonyExposureLevelIncrements[] = {
{ 33, "1/3 EV" }, { 33, "1/3 EV" },
{ 50, "1/2 EV" } { 50, "1/2 EV" }
}; };
@ -620,106 +620,106 @@ namespace Exiv2 {
// Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal. // Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal.
const TagInfo SonyMakerNote::tagInfoCs_[] = { constexpr TagInfo SonyMakerNote::tagInfoCs_[] = {
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x0004, "DriveMode", N_("Drive Mode"), {0x0004, "DriveMode", N_("Drive Mode"),
N_("Drive Mode"), N_("Drive Mode"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyDriveModeStd)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyDriveModeStd)},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x0006, "WhiteBalanceFineTune", N_("White Balance Fine Tune"), {0x0006, "WhiteBalanceFineTune", N_("White Balance Fine Tune"),
N_("White Balance Fine Tune"), N_("White Balance Fine Tune"),
sony1CsId, makerTags, signedShort, 1, printValue), sony1CsId, makerTags, signedShort, 1, printValue},
TagInfo(0x0010, "FocusMode", N_("Focus Mode"), {0x0010, "FocusMode", N_("Focus Mode"),
N_("Focus Mode"), N_("Focus Mode"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)},
TagInfo(0x0011, "AFAreaMode", N_("AF Area Mode"), {0x0011, "AFAreaMode", N_("AF Area Mode"),
N_("AF Area Mode"), N_("AF Area Mode"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode},
TagInfo(0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"), {0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"),
N_("Local AF Area Point"), N_("Local AF Area Point"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint},
TagInfo(0x0015, "MeteringMode", N_("Metering Mode"), {0x0015, "MeteringMode", N_("Metering Mode"),
N_("Metering Mode"), N_("Metering Mode"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)},
TagInfo(0x0016, "ISOSetting", N_("ISO Setting"), {0x0016, "ISOSetting", N_("ISO Setting"),
N_("ISO Setting"), N_("ISO Setting"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0018, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), {0x0018, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"),
N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode},
TagInfo(0x0019, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), {0x0019, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"),
N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001A, "CreativeStyle", N_("Creative Style"), {0x001A, "CreativeStyle", N_("Creative Style"),
N_("Creative Style"), N_("Creative Style"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)},
TagInfo(0x001C, "Sharpness", N_("Sharpness"), {0x001C, "Sharpness", N_("Sharpness"),
N_("Sharpness"), N_("Sharpness"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001D, "Contrast", N_("Contrast"), {0x001D, "Contrast", N_("Contrast"),
N_("Contrast"), N_("Contrast"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001E, "Saturation", N_("Saturation"), {0x001E, "Saturation", N_("Saturation"),
N_("Saturation"), N_("Saturation"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001F, "ZoneMatchingValue", N_("Zone Matching Value"), {0x001F, "ZoneMatchingValue", N_("Zone Matching Value"),
N_("Zone Matching Value"), N_("Zone Matching Value"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0022, "Brightness", N_("Brightness"), {0x0022, "Brightness", N_("Brightness"),
N_("Brightness"), N_("Brightness"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0023, "FlashMode", N_("FlashMode"), {0x0023, "FlashMode", N_("FlashMode"),
N_("FlashMode"), N_("FlashMode"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x0028, "PrioritySetupShutterRelease", N_("Priority Setup Shutter Release"), {0x0028, "PrioritySetupShutterRelease", N_("Priority Setup Shutter Release"),
N_("Priority Setup Shutter Release"), N_("Priority Setup Shutter Release"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyPrioritySetupShutterRelease), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyPrioritySetupShutterRelease},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x0029, "AFIlluminator", N_("AF Illuminator"), {0x0029, "AFIlluminator", N_("AF Illuminator"),
N_("AF Illuminator"), N_("AF Illuminator"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAFIlluminatorCS)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAFIlluminatorCS)},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x002A, "AFWithShutter", N_("AF With Shutter"), {0x002A, "AFWithShutter", N_("AF With Shutter"),
N_("AF With Shutter"), N_("AF With Shutter"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolInverseValue},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x002B, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"), {0x002B, "LongExposureNoiseReduction", N_("Long Exposure Noise Reduction"),
N_("Long Exposure Noise Reduction"), N_("Long Exposure Noise Reduction"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x002C, "HighISONoiseReduction", N_("High ISO NoiseReduction"), {0x002C, "HighISONoiseReduction", N_("High ISO NoiseReduction"),
N_("High ISO NoiseReduction"), N_("High ISO NoiseReduction"),
sony1CsId, makerTags, unsignedShort, 1, printValue), sony1CsId, makerTags, unsignedShort, 1, printValue},
// NOTE: A700 only // NOTE: A700 only
TagInfo(0x002D, "ImageStyle", N_("Image Style"), {0x002D, "ImageStyle", N_("Image Style"),
N_("Image Style"), N_("Image Style"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageStyle)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageStyle)},
TagInfo(0x003C, "ExposureProgram", N_("Exposure Program"), {0x003C, "ExposureProgram", N_("Exposure Program"),
N_("Exposure Program"), N_("Exposure Program"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)},
TagInfo(0x003D, "ImageStabilization", N_("Image Stabilization"), {0x003D, "ImageStabilization", N_("Image Stabilization"),
N_("Image Stabilization"), N_("Image Stabilization"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyBoolValue},
TagInfo(0x003F, "Rotation", N_("Rotation"), {0x003F, "Rotation", N_("Rotation"),
N_("Rotation"), N_("Rotation"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyRotation), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyRotation},
TagInfo(0x0054, "SonyImageSize", N_("Sony Image Size"), {0x0054, "SonyImageSize", N_("Sony Image Size"),
N_("Sony Image Size"), N_("Sony Image Size"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)},
TagInfo(0x0055, "AspectRatio", N_("Aspect Ratio"), {0x0055, "AspectRatio", N_("Aspect Ratio"),
N_("Aspect Ratio"), N_("Aspect Ratio"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAspectRatio)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyAspectRatio)},
TagInfo(0x0056, "Quality", N_("Quality"), {0x0056, "Quality", N_("Quality"),
N_("Quality"), N_("Quality"),
sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyQualityCs), sony1CsId, makerTags, unsignedShort, 1, printMinoltaSonyQualityCs},
TagInfo(0x0058, "ExposureLevelIncrements", N_("Exposure Level Increments"), {0x0058, "ExposureLevelIncrements", N_("Exposure Level Increments"),
N_("Exposure Level Increments"), N_("Exposure Level Increments"),
sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureLevelIncrements)), sony1CsId, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureLevelIncrements)},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSony1CsTag)", "(UnknownSony1CsTag)", {0xffff, "(UnknownSony1CsTag)", "(UnknownSony1CsTag)",
N_("Unknown Sony1 Camera Settings tag"), N_("Unknown Sony1 Camera Settings tag"),
sony1CsId, makerTags, unsignedShort, 1, printValue) sony1CsId, makerTags, unsignedShort, 1, printValue},
}; };
const TagInfo* SonyMakerNote::tagListCs() const TagInfo* SonyMakerNote::tagListCs()
@ -734,56 +734,56 @@ namespace Exiv2 {
// Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal. // Warnings: Exiftool database give a list of tags shorted in decimal mode, not hexadecimal.
const TagInfo SonyMakerNote::tagInfoCs2_[] = { constexpr TagInfo SonyMakerNote::tagInfoCs2_[] = {
TagInfo(0x0010, "FocusMode", N_("Focus Mode"), {0x0010, "FocusMode", N_("Focus Mode"),
N_("Focus Mode"), N_("Focus Mode"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCSFocusMode)},
TagInfo(0x0011, "AFAreaMode", N_("AF Area Mode"), {0x0011, "AFAreaMode", N_("AF Area Mode"),
N_("AF Area Mode"), N_("AF Area Mode"),
sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyAFAreaMode},
TagInfo(0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"), {0x0012, "LocalAFAreaPoint", N_("Local AF Area Point"),
N_("Local AF Area Point"), N_("Local AF Area Point"),
sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyLocalAFAreaPoint},
TagInfo(0x0013, "MeteringMode", N_("Metering Mode"), {0x0013, "MeteringMode", N_("Metering Mode"),
N_("Metering Mode"), N_("Metering Mode"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyMeteringMode)},
TagInfo(0x0014, "ISOSetting", N_("ISO Setting"), {0x0014, "ISOSetting", N_("ISO Setting"),
N_("ISO Setting"), N_("ISO Setting"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue), sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0016, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"), {0x0016, "DynamicRangeOptimizerMode", N_("Dynamic Range Optimizer Mode"),
N_("Dynamic Range Optimizer Mode"), N_("Dynamic Range Optimizer Mode"),
sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyDynamicRangeOptimizerMode},
TagInfo(0x0017, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"), {0x0017, "DynamicRangeOptimizerLevel", N_("Dynamic Range Optimizer Level"),
N_("Dynamic Range Optimizer Level"), N_("Dynamic Range Optimizer Level"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue), sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0018, "CreativeStyle", N_("Creative Style"), {0x0018, "CreativeStyle", N_("Creative Style"),
N_("Creative Style"), N_("Creative Style"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyCreativeStyle)},
TagInfo(0x0019, "Sharpness", N_("Sharpness"), {0x0019, "Sharpness", N_("Sharpness"),
N_("Sharpness"), N_("Sharpness"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue), sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001A, "Contrast", N_("Contrast"), {0x001A, "Contrast", N_("Contrast"),
N_("Contrast"), N_("Contrast"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue), sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
TagInfo(0x001B, "Saturation", N_("Saturation"), {0x001B, "Saturation", N_("Saturation"),
N_("Saturation"), N_("Saturation"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue), sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
TagInfo(0x0023, "FlashMode", N_("FlashMode"), {0x0023, "FlashMode", N_("FlashMode"),
N_("FlashMode"), N_("FlashMode"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyFlashMode)},
TagInfo(0x003C, "ExposureProgram", N_("Exposure Program"), {0x003C, "ExposureProgram", N_("Exposure Program"),
N_("Exposure Program"), N_("Exposure Program"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyExposureProgram)},
TagInfo(0x003F, "Rotation", N_("Rotation"), {0x003F, "Rotation", N_("Rotation"),
N_("Rotation"), N_("Rotation"),
sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyRotation), sony1Cs2Id, makerTags, unsignedShort, 1, printMinoltaSonyRotation},
TagInfo(0x0054, "SonyImageSize", N_("Sony Image Size"), {0x0054, "SonyImageSize", N_("Sony Image Size"),
N_("Sony Image Size"), N_("Sony Image Size"),
sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)), sony1Cs2Id, makerTags, unsignedShort, 1, EXV_PRINT_TAG(sonyImageSize)},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSony1Cs2Tag)", "(UnknownSony1Cs2Tag)", {0xffff, "(UnknownSony1Cs2Tag)", "(UnknownSony1Cs2Tag)",
N_("Unknown Sony1 Camera Settings 2 tag"), N_("Unknown Sony1 Camera Settings 2 tag"),
sony1Cs2Id, makerTags, unsignedShort, 1, printValue) sony1Cs2Id, makerTags, unsignedShort, 1, printValue},
}; };
const TagInfo* SonyMakerNote::tagListCs2() const TagInfo* SonyMakerNote::tagListCs2()
@ -792,13 +792,13 @@ namespace Exiv2 {
} }
//! Sony Tag 9402 Sony2Fp (FocusPosition) //! Sony Tag 9402 Sony2Fp (FocusPosition)
const TagInfo SonyMakerNote::tagInfoFp_[] = { constexpr TagInfo SonyMakerNote::tagInfoFp_[] = {
TagInfo( 0x04, "AmbientTemperature", N_("Ambient Temperature"), N_("Ambient Temperature"), sony2FpId, makerTags, signedByte, 1, printValue), { 0x04, "AmbientTemperature", N_("Ambient Temperature"), N_("Ambient Temperature"), sony2FpId, makerTags, signedByte, 1, printValue},
TagInfo( 0x16, "FocusMode" , N_("Focus Mode") , N_("Focus Mode") , sony2FpId, makerTags, unsignedByte, 1, printValue), { 0x16, "FocusMode" , N_("Focus Mode") , N_("Focus Mode") , sony2FpId, makerTags, unsignedByte, 1, printValue},
TagInfo( 0x17, "AFAreaMode" , N_("AF Area Mode") , N_("AF Area Mode") , sony2FpId, makerTags, unsignedByte, 1, printValue), { 0x17, "AFAreaMode" , N_("AF Area Mode") , N_("AF Area Mode") , sony2FpId, makerTags, unsignedByte, 1, printValue},
TagInfo( 0x2d, "FocusPosition2" , N_("Focus Position 2") , N_("Focus Position 2") , sony2FpId, makerTags, unsignedByte, 1, printValue), { 0x2d, "FocusPosition2" , N_("Focus Position 2") , N_("Focus Position 2") , sony2FpId, makerTags, unsignedByte, 1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(Unknownsony2FpTag)", "(Unknownsony2FpTag)" , "(Unknownsony2FpTag)" , sony2FpId, makerTags, unsignedByte, 1, printValue) {0xffff, "(Unknownsony2FpTag)", "(Unknownsony2FpTag)" , "(Unknownsony2FpTag)" , sony2FpId, makerTags, unsignedByte, 1, printValue},
}; };
const TagInfo* SonyMakerNote::tagListFp() const TagInfo* SonyMakerNote::tagListFp()
@ -807,45 +807,45 @@ namespace Exiv2 {
} }
//! Sony Tag 2010 Sony2010 (Miscellaneous) //! Sony Tag 2010 Sony2010 (Miscellaneous)
const TagInfo SonyMakerNote::tagInfo2010e_[] = { constexpr TagInfo SonyMakerNote::tagInfo2010e_[] = {
TagInfo(0, "SequenceImageNumber", N_("Sequence Image Number"), N_("Sequence Image Number"), sony2010eId, makerTags, unsignedLong, 1, printValue), {0, "SequenceImageNumber", N_("Sequence Image Number"), N_("Sequence Image Number"), sony2010eId, makerTags, unsignedLong, 1, printValue},
TagInfo(4, "SequenceFileNumber", N_("SequenceFileNumber"), N_("SequenceFileNumber"), sony2010eId, makerTags, unsignedLong, 1, printValue), {4, "SequenceFileNumber", N_("SequenceFileNumber"), N_("SequenceFileNumber"), sony2010eId, makerTags, unsignedLong, 1, printValue},
TagInfo(8, "ReleaseMode2", N_("ReleaseMode2"), N_("ReleaseMode2"), sony2010eId, makerTags, unsignedLong, 1, printValue), {8, "ReleaseMode2", N_("ReleaseMode2"), N_("ReleaseMode2"), sony2010eId, makerTags, unsignedLong, 1, printValue},
TagInfo(540, "DigitalZoomRatio", N_("DigitalZoomRatio"), N_("DigitalZoomRatio"), sony2010eId, makerTags, unsignedByte, 1, printValue), {540, "DigitalZoomRatio", N_("DigitalZoomRatio"), N_("DigitalZoomRatio"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(556, "SonyDateTime", N_("SonyDateTime"), N_("SonyDateTime"), sony2010eId, makerTags, undefined, 1, printValue), {556, "SonyDateTime", N_("SonyDateTime"), N_("SonyDateTime"), sony2010eId, makerTags, undefined, 1, printValue},
TagInfo(808, "DynamicRangeOptimizer", N_("DynamicRangeOptimizer"), N_("DynamicRangeOptimizer"), sony2010eId, makerTags, unsignedByte, 1, printValue), {808, "DynamicRangeOptimizer", N_("DynamicRangeOptimizer"), N_("DynamicRangeOptimizer"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(1208, "MeterInfo", N_("MeterInfo"), N_("MeterInfo"), sony2010eId, makerTags, undefined, 1, printValue), {1208, "MeterInfo", N_("MeterInfo"), N_("MeterInfo"), sony2010eId, makerTags, undefined, 1, printValue},
TagInfo(4444, "ReleaseMode3", N_("ReleaseMode3"), N_("ReleaseMode3"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4444, "ReleaseMode3", N_("ReleaseMode3"), N_("ReleaseMode3"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4448, "ReleaseMode2", N_("ReleaseMode2"), N_("ReleaseMode2"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4448, "ReleaseMode2", N_("ReleaseMode2"), N_("ReleaseMode2"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4456, "SelfTimer", N_("SelfTimer"), N_("SelfTimer"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4456, "SelfTimer", N_("SelfTimer"), N_("SelfTimer"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4460, "FlashMode", N_("FlashMode"), N_("FlashMode"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4460, "FlashMode", N_("FlashMode"), N_("FlashMode"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4466, "StopsAboveBaseISO", N_("StopsAboveBaseISO"), N_("StopsAboveBaseISO"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4466, "StopsAboveBaseISO", N_("StopsAboveBaseISO"), N_("StopsAboveBaseISO"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4468, "BrightnessValue", N_("BrightnessValue"), N_("BrightnessValue"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4468, "BrightnessValue", N_("BrightnessValue"), N_("BrightnessValue"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4472, "DynamicRangeOptimizer", N_("DynamicRangeOptimizer"), N_("DynamicRangeOptimizer"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4472, "DynamicRangeOptimizer", N_("DynamicRangeOptimizer"), N_("DynamicRangeOptimizer"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4476, "HDRSetting", N_("HDRSetting"), N_("HDRSetting"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4476, "HDRSetting", N_("HDRSetting"), N_("HDRSetting"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4480, "ExposureCompensation", N_("ExposureCompensation"), N_("ExposureCompensation"), sony2010eId, makerTags, signedShort, 1, printValue), {4480, "ExposureCompensation", N_("ExposureCompensation"), N_("ExposureCompensation"), sony2010eId, makerTags, signedShort, 1, printValue},
TagInfo(4502, "PictureProfile", N_("PictureProfile"), N_("PictureProfile"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4502, "PictureProfile", N_("PictureProfile"), N_("PictureProfile"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4503, "PictureProfile2", N_("PictureProfile2"), N_("PictureProfile2"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4503, "PictureProfile2", N_("PictureProfile2"), N_("PictureProfile2"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4507, "PictureEffect2", N_("PictureEffect2"), N_("PictureEffect2"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4507, "PictureEffect2", N_("PictureEffect2"), N_("PictureEffect2"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4520, "Quality2", N_("Quality2"), N_("Quality2"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4520, "Quality2", N_("Quality2"), N_("Quality2"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4524, "MeteringMode", N_("MeteringMode"), N_("MeteringMode"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4524, "MeteringMode", N_("MeteringMode"), N_("MeteringMode"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4525, "ExposureProgram", N_("ExposureProgram"), N_("ExposureProgram"), sony2010eId, makerTags, unsignedByte, 1, printValue), {4525, "ExposureProgram", N_("ExposureProgram"), N_("ExposureProgram"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(4532, "WB_RGBLevels", N_("WB_RGBLevels"), N_("WB_RGBLevels"), sony2010eId, makerTags, unsignedShort, 3, printValue), {4532, "WB_RGBLevels", N_("WB_RGBLevels"), N_("WB_RGBLevels"), sony2010eId, makerTags, unsignedShort, 3, printValue},
TagInfo(4692, "SonyISO", N_("SonyISO"), N_("SonyISO"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4692, "SonyISO", N_("SonyISO"), N_("SonyISO"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4696, "SonyISO2", N_("SonyISO2"), N_("SonyISO2"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4696, "SonyISO2", N_("SonyISO2"), N_("SonyISO2"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4728, "FocalLength", N_("FocalLength"), N_("FocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4728, "FocalLength", N_("FocalLength"), N_("FocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4730, "MinFocalLength", N_("MinFocalLength"), N_("MinFocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4730, "MinFocalLength", N_("MinFocalLength"), N_("MinFocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4732, "MaxFocalLength", N_("MaxFocalLength"), N_("MaxFocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4732, "MaxFocalLength", N_("MaxFocalLength"), N_("MaxFocalLength"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(4736, "SonyISO3", N_("SonyISO3"), N_("SonyISO3"), sony2010eId, makerTags, unsignedShort, 1, printValue), {4736, "SonyISO3", N_("SonyISO3"), N_("SonyISO3"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(6256, "DistortionCorrParams", N_("DistortionCorrParams"), N_("DistortionCorrParams"), sony2010eId, makerTags, signedShort, 16, printValue), {6256, "DistortionCorrParams", N_("DistortionCorrParams"), N_("DistortionCorrParams"), sony2010eId, makerTags, signedShort, 16, printValue},
TagInfo(6289, "LensFormat", N_("LensFormat"), N_("LensFormat"), sony2010eId, makerTags, unsignedByte, 1, printValue), {6289, "LensFormat", N_("LensFormat"), N_("LensFormat"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(6290, "LensMount", N_("LensMount"), N_("LensMount"), sony2010eId, makerTags, unsignedByte, 1, printValue), {6290, "LensMount", N_("LensMount"), N_("LensMount"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(6291, "LensType2", N_("LensType2"), N_("LensType2"), sony2010eId, makerTags, unsignedShort, 1, printValue), {6291, "LensType2", N_("LensType2"), N_("LensType2"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(6294, "LensType", N_("LensType"), N_("LensType"), sony2010eId, makerTags, unsignedShort, 1, printValue), {6294, "LensType", N_("LensType"), N_("LensType"), sony2010eId, makerTags, unsignedShort, 1, printValue},
TagInfo(6296, "DistortionCorrParamsPresent", N_("DistortionCorrParamsPresent"), N_("DistortionCorrParamsPresent"), sony2010eId, makerTags, unsignedByte, 1, printValue), {6296, "DistortionCorrParamsPresent", N_("DistortionCorrParamsPresent"), N_("DistortionCorrParamsPresent"), sony2010eId, makerTags, unsignedByte, 1, printValue},
TagInfo(6297, "DistortionCorrParamsNumber", N_("DistortionCorrParamsNumber"), N_("DistortionCorrParamsNumber"), sony2010eId, makerTags, unsignedByte, 1, printValue), {6297, "DistortionCorrParamsNumber", N_("DistortionCorrParamsNumber"), N_("DistortionCorrParamsNumber"), sony2010eId, makerTags, unsignedByte, 1, printValue},
// End of list marker // End of list marker
TagInfo(0xffff, "(UnknownSony2010eTag)", "(UnknownSony2010eTag)" , "(UnknownSony2010eTag)" , sony2010eId, makerTags, unsignedByte, 1, printValue) {0xffff, "(UnknownSony2010eTag)", "(UnknownSony2010eTag)" , "(UnknownSony2010eTag)" , sony2010eId, makerTags, unsignedByte, 1, printValue},
}; };
const TagInfo* SonyMakerNote::tagList2010e() const TagInfo* SonyMakerNote::tagList2010e()

@ -57,7 +57,7 @@ namespace Exiv2 {
//! List of all defined Exif sections. //! List of all defined Exif sections.
extern const SectionInfo sectionInfo[] = { constexpr SectionInfo sectionInfo[] = {
{ sectionIdNotSet, "(UnknownSection)", N_("Unknown section") }, { sectionIdNotSet, "(UnknownSection)", N_("Unknown section") },
{ imgStruct, "ImageStructure", N_("Image data structure") }, { imgStruct, "ImageStructure", N_("Image data structure") },
{ recOffset, "RecordingOffset", N_("Recording offset") }, { recOffset, "RecordingOffset", N_("Recording offset") },
@ -94,9 +94,9 @@ namespace Exiv2 {
} }
// Unknown Tag // Unknown Tag
static const TagInfo unknownTag(0xffff, "Unknown tag", N_("Unknown tag"), static const TagInfo unknownTag{0xffff, "Unknown tag", N_("Unknown tag"),
N_("Unknown tag"), N_("Unknown tag"),
ifdIdNotSet, sectionIdNotSet, asciiString, -1, printValue); ifdIdNotSet, sectionIdNotSet, asciiString, -1, printValue};
} // namespace Internal } // namespace Internal
} // namespace Exiv2 } // namespace Exiv2
@ -119,22 +119,6 @@ namespace Exiv2 {
return 0 == strcmp(groupName.g_.c_str(), groupName_); return 0 == strcmp(groupName.g_.c_str(), groupName_);
} }
TagInfo::TagInfo(
uint16_t tag,
const char* name,
const char* title,
const char* desc,
int ifdId,
int sectionId,
TypeId typeId,
int16_t count,
PrintFct printFct
)
: tag_(tag), name_(name), title_(title), desc_(desc), ifdId_(ifdId),
sectionId_(sectionId), typeId_(typeId), count_(count), printFct_(printFct)
{
}
const char* ExifTags::sectionName(const ExifKey& key) const char* ExifTags::sectionName(const ExifKey& key)
{ {
const TagInfo* ti = tagInfo(key.tag(), static_cast<Internal::IfdId>(key.ifdId())); const TagInfo* ti = tagInfo(key.tag(), static_cast<Internal::IfdId>(key.ifdId()));

File diff suppressed because it is too large Load Diff

@ -35,10 +35,10 @@ namespace Exiv2 {
namespace Internal { namespace Internal {
//! Constant for non-encrypted binary arrays //! Constant for non-encrypted binary arrays
const CryptFct notEncrypted = 0; constexpr CryptFct notEncrypted = 0;
//! Canon Camera Settings binary array - configuration //! Canon Camera Settings binary array - configuration
extern const ArrayCfg canonCsCfg = { constexpr ArrayCfg canonCsCfg = {
canonCsId, // Group for the elements canonCsId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -49,12 +49,12 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Canon Camera Settings binary array - definition //! Canon Camera Settings binary array - definition
extern const ArrayDef canonCsDef[] = { constexpr ArrayDef canonCsDef[] = {
{ 46, ttUnsignedShort, 3 } // Exif.CanonCs.Lens { 46, ttUnsignedShort, 3 } // Exif.CanonCs.Lens
}; };
//! Canon Shot Info binary array - configuration //! Canon Shot Info binary array - configuration
extern const ArrayCfg canonSiCfg = { constexpr ArrayCfg canonSiCfg = {
canonSiId, // Group for the elements canonSiId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -66,7 +66,7 @@ namespace Exiv2 {
}; };
//! Canon Panorama binary array - configuration //! Canon Panorama binary array - configuration
extern const ArrayCfg canonPaCfg = { constexpr ArrayCfg canonPaCfg = {
canonPaId, // Group for the elements canonPaId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -78,7 +78,7 @@ namespace Exiv2 {
}; };
//! Canon Custom Function binary array - configuration //! Canon Custom Function binary array - configuration
extern const ArrayCfg canonCfCfg = { constexpr ArrayCfg canonCfCfg = {
canonCfId, // Group for the elements canonCfId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -90,7 +90,7 @@ namespace Exiv2 {
}; };
//! Canon Picture Info binary array - configuration //! Canon Picture Info binary array - configuration
extern const ArrayCfg canonPiCfg = { constexpr ArrayCfg canonPiCfg = {
canonPiId, // Group for the elements canonPiId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -102,7 +102,7 @@ namespace Exiv2 {
}; };
//! Canon Time Info binary array - configuration //! Canon Time Info binary array - configuration
extern const ArrayCfg canonTiCfg = { constexpr ArrayCfg canonTiCfg = {
canonTiId, // Group for the elements canonTiId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttSignedLong, // Type for array entry and size element ttSignedLong, // Type for array entry and size element
@ -114,7 +114,7 @@ namespace Exiv2 {
}; };
//! Canon File Info binary array - configuration //! Canon File Info binary array - configuration
extern const ArrayCfg canonFiCfg = { constexpr ArrayCfg canonFiCfg = {
canonFiId, // Group for the elements canonFiId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -125,12 +125,12 @@ namespace Exiv2 {
{ 0, ttSignedShort, 1 } { 0, ttSignedShort, 1 }
}; };
//! Canon File Info binary array - definition //! Canon File Info binary array - definition
extern const ArrayDef canonFiDef[] = { constexpr ArrayDef canonFiDef[] = {
{ 2, ttUnsignedLong, 1 } { 2, ttUnsignedLong, 1 }
}; };
//! Canon Processing Info binary array - configuration //! Canon Processing Info binary array - configuration
extern const ArrayCfg canonPrCfg = { constexpr ArrayCfg canonPrCfg = {
canonPrId, // Group for the elements canonPrId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry and size element ttUnsignedShort, // Type for array entry and size element
@ -142,7 +142,7 @@ namespace Exiv2 {
}; };
//! Nikon Vibration Reduction binary array - configuration //! Nikon Vibration Reduction binary array - configuration
extern const ArrayCfg nikonVrCfg = { constexpr ArrayCfg nikonVrCfg = {
nikonVrId, // Group for the elements nikonVrId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -153,13 +153,13 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Vibration Reduction binary array - definition //! Nikon Vibration Reduction binary array - definition
extern const ArrayDef nikonVrDef[] = { constexpr ArrayDef nikonVrDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 7, ttUnsignedByte, 1 } // The array contains 8 bytes { 7, ttUnsignedByte, 1 } // The array contains 8 bytes
}; };
//! Nikon Picture Control binary array - configuration //! Nikon Picture Control binary array - configuration
extern const ArrayCfg nikonPcCfg = { constexpr ArrayCfg nikonPcCfg = {
nikonPcId, // Group for the elements nikonPcId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -170,7 +170,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Picture Control binary array - definition //! Nikon Picture Control binary array - definition
extern const ArrayDef nikonPcDef[] = { constexpr ArrayDef nikonPcDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttAsciiString, 20 }, { 4, ttAsciiString, 20 },
{ 24, ttAsciiString, 20 }, { 24, ttAsciiString, 20 },
@ -187,7 +187,7 @@ namespace Exiv2 {
}; };
//! Nikon World Time binary array - configuration //! Nikon World Time binary array - configuration
extern const ArrayCfg nikonWtCfg = { constexpr ArrayCfg nikonWtCfg = {
nikonWtId, // Group for the elements nikonWtId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -198,14 +198,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon World Time binary array - definition //! Nikon World Time binary array - definition
extern const ArrayDef nikonWtDef[] = { constexpr ArrayDef nikonWtDef[] = {
{ 0, ttSignedShort, 1 }, { 0, ttSignedShort, 1 },
{ 2, ttUnsignedByte, 1 }, { 2, ttUnsignedByte, 1 },
{ 3, ttUnsignedByte, 1 } { 3, ttUnsignedByte, 1 }
}; };
//! Nikon ISO info binary array - configuration //! Nikon ISO info binary array - configuration
extern const ArrayCfg nikonIiCfg = { constexpr ArrayCfg nikonIiCfg = {
nikonIiId, // Group for the elements nikonIiId, // Group for the elements
bigEndian, // Byte order bigEndian, // Byte order
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -216,7 +216,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon ISO info binary array - definition //! Nikon ISO info binary array - definition
extern const ArrayDef nikonIiDef[] = { constexpr ArrayDef nikonIiDef[] = {
{ 0, ttUnsignedByte, 1 }, { 0, ttUnsignedByte, 1 },
{ 4, ttUnsignedShort, 1 }, { 4, ttUnsignedShort, 1 },
{ 6, ttUnsignedByte, 1 }, { 6, ttUnsignedByte, 1 },
@ -225,7 +225,7 @@ namespace Exiv2 {
}; };
//! Nikon Auto Focus binary array - configuration //! Nikon Auto Focus binary array - configuration
extern const ArrayCfg nikonAfCfg = { constexpr ArrayCfg nikonAfCfg = {
nikonAfId, // Group for the elements nikonAfId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -236,14 +236,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Auto Focus binary array - definition //! Nikon Auto Focus binary array - definition
extern const ArrayDef nikonAfDef[] = { constexpr ArrayDef nikonAfDef[] = {
{ 0, ttUnsignedByte, 1 }, { 0, ttUnsignedByte, 1 },
{ 1, ttUnsignedByte, 1 }, { 1, ttUnsignedByte, 1 },
{ 2, ttUnsignedShort, 1 } // The array contains 4 bytes { 2, ttUnsignedShort, 1 } // The array contains 4 bytes
}; };
//! Nikon Auto Focus 21 binary array - configuration //! Nikon Auto Focus 21 binary array - configuration
extern const ArrayCfg nikonAf21Cfg = { constexpr ArrayCfg nikonAf21Cfg = {
nikonAf21Id, // Group for the elements nikonAf21Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -254,7 +254,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Auto Focus 21 binary array - definition //! Nikon Auto Focus 21 binary array - definition
extern const ArrayDef nikonAf21Def[] = { constexpr ArrayDef nikonAf21Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedByte, 1 }, // ContrastDetectAF { 4, ttUnsignedByte, 1 }, // ContrastDetectAF
{ 5, ttUnsignedByte, 1 }, // AFAreaMode { 5, ttUnsignedByte, 1 }, // AFAreaMode
@ -270,7 +270,7 @@ namespace Exiv2 {
{ 28, ttUnsignedShort, 1 }, // ContrastDetectAFInFocus { 28, ttUnsignedShort, 1 }, // ContrastDetectAFInFocus
}; };
//! Nikon Auto Focus 22 binary array - configuration //! Nikon Auto Focus 22 binary array - configuration
extern const ArrayCfg nikonAf22Cfg = { constexpr ArrayCfg nikonAf22Cfg = {
nikonAf22Id, // Group for the elements nikonAf22Id, // Group for the elements
invalidByteOrder, // Byte order invalidByteOrder, // Byte order
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -281,7 +281,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Auto Focus 22 binary array - definition //! Nikon Auto Focus 22 binary array - definition
extern const ArrayDef nikonAf22Def[] = { constexpr ArrayDef nikonAf22Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedByte, 1 }, // ContrastDetectAF { 4, ttUnsignedByte, 1 }, // ContrastDetectAF
{ 5, ttUnsignedByte, 1 }, // AFAreaMode { 5, ttUnsignedByte, 1 }, // AFAreaMode
@ -298,13 +298,13 @@ namespace Exiv2 {
//! Nikon AF2 configuration and definitions //! Nikon AF2 configuration and definitions
// https://github.com/Exiv2/exiv2/issues/646 // https://github.com/Exiv2/exiv2/issues/646
extern const ArraySet nikonAf2Set[] = { constexpr ArraySet nikonAf2Set[] = {
{ nikonAf21Cfg, nikonAf21Def, EXV_COUNTOF(nikonAf21Def) }, { nikonAf21Cfg, nikonAf21Def, EXV_COUNTOF(nikonAf21Def) },
{ nikonAf22Cfg, nikonAf22Def, EXV_COUNTOF(nikonAf22Def) }, { nikonAf22Cfg, nikonAf22Def, EXV_COUNTOF(nikonAf22Def) },
}; };
//! Nikon AF Fine Tune binary array - configuration //! Nikon AF Fine Tune binary array - configuration
extern const ArrayCfg nikonAFTCfg = { constexpr ArrayCfg nikonAFTCfg = {
nikonAFTId, // Group for the elements nikonAFTId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -315,14 +315,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon AF Fine Tune binary array - definition //! Nikon AF Fine Tune binary array - definition
extern const ArrayDef nikonAFTDef[] = { constexpr ArrayDef nikonAFTDef[] = {
{ 0, ttUnsignedByte, 1 }, // AF Fine Tune on/off { 0, ttUnsignedByte, 1 }, // AF Fine Tune on/off
{ 1, ttUnsignedByte, 1 }, // AF Fine Tune index { 1, ttUnsignedByte, 1 }, // AF Fine Tune index
{ 2, ttUnsignedByte, 1 } // AF Fine Tune value { 2, ttUnsignedByte, 1 } // AF Fine Tune value
}; };
//! Nikon File Info binary array - configuration //! Nikon File Info binary array - configuration
extern const ArrayCfg nikonFiCfg = { constexpr ArrayCfg nikonFiCfg = {
nikonFiId, // Group for the elements nikonFiId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -333,14 +333,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon File Info binary array - definition //! Nikon File Info binary array - definition
extern const ArrayDef nikonFiDef[] = { constexpr ArrayDef nikonFiDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 6, ttUnsignedShort, 1 }, // Directory Number { 6, ttUnsignedShort, 1 }, // Directory Number
{ 8, ttUnsignedShort, 1 } // File Number { 8, ttUnsignedShort, 1 } // File Number
}; };
//! Nikon Multi Exposure binary array - configuration //! Nikon Multi Exposure binary array - configuration
extern const ArrayCfg nikonMeCfg = { constexpr ArrayCfg nikonMeCfg = {
nikonMeId, // Group for the elements nikonMeId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -351,7 +351,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Multi Exposure binary array - definition //! Nikon Multi Exposure binary array - definition
extern const ArrayDef nikonMeDef[] = { constexpr ArrayDef nikonMeDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedLong, 1 }, // MultiExposureMode { 4, ttUnsignedLong, 1 }, // MultiExposureMode
{ 8, ttUnsignedLong, 1 }, // MultiExposureShots { 8, ttUnsignedLong, 1 }, // MultiExposureShots
@ -359,7 +359,7 @@ namespace Exiv2 {
}; };
//! Nikon Flash Info binary array - configuration 1 //! Nikon Flash Info binary array - configuration 1
extern const ArrayCfg nikonFl1Cfg = { constexpr ArrayCfg nikonFl1Cfg = {
nikonFl1Id, // Group for the elements nikonFl1Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -370,7 +370,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Flash Info binary array - definition 1 //! Nikon Flash Info binary array - definition 1
extern const ArrayDef nikonFl1Def[] = { constexpr ArrayDef nikonFl1Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedByte, 1 }, // FlashSource { 4, ttUnsignedByte, 1 }, // FlashSource
{ 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware
@ -383,7 +383,7 @@ namespace Exiv2 {
{ 16, ttUnsignedByte, 1 } // FlashGroupBControlMode { 16, ttUnsignedByte, 1 } // FlashGroupBControlMode
}; };
//! Nikon Flash Info binary array - configuration 2 //! Nikon Flash Info binary array - configuration 2
extern const ArrayCfg nikonFl2Cfg = { constexpr ArrayCfg nikonFl2Cfg = {
nikonFl2Id, // Group for the elements nikonFl2Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -394,7 +394,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Flash Info binary array - definition 2 //! Nikon Flash Info binary array - definition 2
extern const ArrayDef nikonFl2Def[] = { constexpr ArrayDef nikonFl2Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedByte, 1 }, // FlashSource { 4, ttUnsignedByte, 1 }, // FlashSource
{ 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware
@ -405,7 +405,7 @@ namespace Exiv2 {
{ 15, ttUnsignedByte, 1 }, // FlashGNDistance { 15, ttUnsignedByte, 1 }, // FlashGNDistance
}; };
//! Nikon Flash Info binary array - configuration 3 //! Nikon Flash Info binary array - configuration 3
extern const ArrayCfg nikonFl3Cfg = { constexpr ArrayCfg nikonFl3Cfg = {
nikonFl3Id, // Group for the elements nikonFl3Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -416,7 +416,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Flash Info binary array - definition //! Nikon Flash Info binary array - definition
extern const ArrayDef nikonFl3Def[] = { constexpr ArrayDef nikonFl3Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedByte, 1 }, // FlashSource { 4, ttUnsignedByte, 1 }, // FlashSource
{ 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware { 6, ttUnsignedShort, 1 }, // ExternalFlashFirmware
@ -428,14 +428,14 @@ namespace Exiv2 {
{ 16, ttUnsignedByte, 1 }, // FlashColorFilter { 16, ttUnsignedByte, 1 }, // FlashColorFilter
}; };
//! Nikon Lens Data configurations and definitions //! Nikon Lens Data configurations and definitions
extern const ArraySet nikonFlSet[] = { constexpr ArraySet nikonFlSet[] = {
{ nikonFl1Cfg, nikonFl1Def, EXV_COUNTOF(nikonFl1Def) }, { nikonFl1Cfg, nikonFl1Def, EXV_COUNTOF(nikonFl1Def) },
{ nikonFl2Cfg, nikonFl2Def, EXV_COUNTOF(nikonFl2Def) }, { nikonFl2Cfg, nikonFl2Def, EXV_COUNTOF(nikonFl2Def) },
{ nikonFl3Cfg, nikonFl3Def, EXV_COUNTOF(nikonFl3Def) } { nikonFl3Cfg, nikonFl3Def, EXV_COUNTOF(nikonFl3Def) }
}; };
//! Nikon Shot Info binary array - configuration 1 (D80) //! Nikon Shot Info binary array - configuration 1 (D80)
extern const ArrayCfg nikonSi1Cfg = { constexpr ArrayCfg nikonSi1Cfg = {
nikonSi1Id, // Group for the elements nikonSi1Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -446,13 +446,13 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Shot Info binary array - definition 1 (D80) //! Nikon Shot Info binary array - definition 1 (D80)
extern const ArrayDef nikonSi1Def[] = { constexpr ArrayDef nikonSi1Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 586, ttUnsignedLong, 1 }, // ShutterCount { 586, ttUnsignedLong, 1 }, // ShutterCount
{ 1155, ttUnsignedByte, 1 } // The array contains 1156 bytes { 1155, ttUnsignedByte, 1 } // The array contains 1156 bytes
}; };
//! Nikon Shot Info binary array - configuration 2 (D40) //! Nikon Shot Info binary array - configuration 2 (D40)
extern const ArrayCfg nikonSi2Cfg = { constexpr ArrayCfg nikonSi2Cfg = {
nikonSi2Id, // Group for the elements nikonSi2Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -463,14 +463,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Shot Info binary array - definition 2 (D40) //! Nikon Shot Info binary array - definition 2 (D40)
extern const ArrayDef nikonSi2Def[] = { constexpr ArrayDef nikonSi2Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 582, ttUnsignedLong, 1 }, // ShutterCount { 582, ttUnsignedLong, 1 }, // ShutterCount
{ 738, ttUnsignedByte, 1 }, { 738, ttUnsignedByte, 1 },
{ 1112, ttUnsignedByte, 1 } // The array contains 1113 bytes { 1112, ttUnsignedByte, 1 } // The array contains 1113 bytes
}; };
//! Nikon Shot Info binary array - configuration 3 (D300a) //! Nikon Shot Info binary array - configuration 3 (D300a)
extern const ArrayCfg nikonSi3Cfg = { constexpr ArrayCfg nikonSi3Cfg = {
nikonSi3Id, // Group for the elements nikonSi3Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -481,7 +481,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Shot Info binary array - definition 3 (D300a) //! Nikon Shot Info binary array - definition 3 (D300a)
extern const ArrayDef nikonSi3Def[] = { constexpr ArrayDef nikonSi3Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 604, ttUnsignedByte, 1 }, // ISO { 604, ttUnsignedByte, 1 }, // ISO
{ 633, ttUnsignedLong, 1 }, // ShutterCount { 633, ttUnsignedLong, 1 }, // ShutterCount
@ -489,7 +489,7 @@ namespace Exiv2 {
{ 814, ttUndefined, 4478 } // The array contains 5291 bytes { 814, ttUndefined, 4478 } // The array contains 5291 bytes
}; };
//! Nikon Shot Info binary array - configuration 4 (D300b) //! Nikon Shot Info binary array - configuration 4 (D300b)
extern const ArrayCfg nikonSi4Cfg = { constexpr ArrayCfg nikonSi4Cfg = {
nikonSi4Id, // Group for the elements nikonSi4Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -500,14 +500,14 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Shot Info binary array - definition 4 (D300b) //! Nikon Shot Info binary array - definition 4 (D300b)
extern const ArrayDef nikonSi4Def[] = { constexpr ArrayDef nikonSi4Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 644, ttUnsignedLong, 1 }, // ShutterCount { 644, ttUnsignedLong, 1 }, // ShutterCount
{ 732, ttUnsignedShort, 1 }, // AFFineTuneAdj { 732, ttUnsignedShort, 1 }, // AFFineTuneAdj
{ 826, ttUndefined, 4478 } // The array contains 5303 bytes { 826, ttUndefined, 4478 } // The array contains 5303 bytes
}; };
//! Nikon Shot Info binary array - configuration 5 (ver 02.xx) //! Nikon Shot Info binary array - configuration 5 (ver 02.xx)
extern const ArrayCfg nikonSi5Cfg = { constexpr ArrayCfg nikonSi5Cfg = {
nikonSi5Id, // Group for the elements nikonSi5Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -518,7 +518,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Shot Info binary array - definition 5 (ver 01.xx and ver 02.xx) //! Nikon Shot Info binary array - definition 5 (ver 01.xx and ver 02.xx)
extern const ArrayDef nikonSi5Def[] = { constexpr ArrayDef nikonSi5Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 106, ttUnsignedLong, 1 }, // ShutterCount1 { 106, ttUnsignedLong, 1 }, // ShutterCount1
{ 110, ttUnsignedLong, 1 }, // DeletedImageCount { 110, ttUnsignedLong, 1 }, // DeletedImageCount
@ -530,7 +530,7 @@ namespace Exiv2 {
{ 630, ttUnsignedLong, 1 } // ShutterCount { 630, ttUnsignedLong, 1 } // ShutterCount
}; };
//! Nikon Shot Info binary array - configuration 6 (ver 01.xx) //! Nikon Shot Info binary array - configuration 6 (ver 01.xx)
extern const ArrayCfg nikonSi6Cfg = { constexpr ArrayCfg nikonSi6Cfg = {
nikonSi6Id, // Group for the elements nikonSi6Id, // Group for the elements
bigEndian, // Use byte order from parent bigEndian, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -541,7 +541,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Lens Data configurations and definitions //! Nikon Lens Data configurations and definitions
extern const ArraySet nikonSiSet[] = { constexpr ArraySet nikonSiSet[] = {
{ nikonSi1Cfg, nikonSi1Def, EXV_COUNTOF(nikonSi1Def) }, { nikonSi1Cfg, nikonSi1Def, EXV_COUNTOF(nikonSi1Def) },
{ nikonSi2Cfg, nikonSi2Def, EXV_COUNTOF(nikonSi2Def) }, { nikonSi2Cfg, nikonSi2Def, EXV_COUNTOF(nikonSi2Def) },
{ nikonSi3Cfg, nikonSi3Def, EXV_COUNTOF(nikonSi3Def) }, { nikonSi3Cfg, nikonSi3Def, EXV_COUNTOF(nikonSi3Def) },
@ -551,7 +551,7 @@ namespace Exiv2 {
}; };
//! Nikon Lens Data binary array - configuration 1 //! Nikon Lens Data binary array - configuration 1
extern const ArrayCfg nikonLd1Cfg = { constexpr ArrayCfg nikonLd1Cfg = {
nikonLd1Id, // Group for the elements nikonLd1Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -562,7 +562,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Lens Data binary array - configuration 2 //! Nikon Lens Data binary array - configuration 2
extern const ArrayCfg nikonLd2Cfg = { constexpr ArrayCfg nikonLd2Cfg = {
nikonLd2Id, // Group for the elements nikonLd2Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -573,7 +573,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Lens Data binary array - configuration 3 //! Nikon Lens Data binary array - configuration 3
extern const ArrayCfg nikonLd3Cfg = { constexpr ArrayCfg nikonLd3Cfg = {
nikonLd3Id, // Group for the elements nikonLd3Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -584,7 +584,7 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Lens Data binary array - configuration 3 //! Nikon Lens Data binary array - configuration 3
extern const ArrayCfg nikonLd4Cfg = { constexpr ArrayCfg nikonLd4Cfg = {
nikonLd4Id, // Group for the elements nikonLd4Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -595,11 +595,11 @@ namespace Exiv2 {
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
//! Nikon Lens Data binary array - definition //! Nikon Lens Data binary array - definition
extern const ArrayDef nikonLdDef[] = { constexpr ArrayDef nikonLdDef[] = {
{ 0, ttUndefined, 4 } // Version { 0, ttUndefined, 4 } // Version
}; };
//! Nikon Lens Data binary array - definition //! Nikon Lens Data binary array - definition
extern const ArrayDef nikonLd4Def[] = { constexpr ArrayDef nikonLd4Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 48, ttUnsignedShort, 1 }, // LensID { 48, ttUnsignedShort, 1 }, // LensID
{ 54, ttUnsignedShort, 1 }, // MacAperture { 54, ttUnsignedShort, 1 }, // MacAperture
@ -607,7 +607,7 @@ namespace Exiv2 {
{ 60, ttUnsignedShort, 1 } // FocalLength { 60, ttUnsignedShort, 1 } // FocalLength
}; };
//! Nikon Lens Data configurations and definitions //! Nikon Lens Data configurations and definitions
extern const ArraySet nikonLdSet[] = { constexpr ArraySet nikonLdSet[] = {
{ nikonLd1Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) }, { nikonLd1Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) },
{ nikonLd2Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) }, { nikonLd2Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) },
{ nikonLd3Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) }, { nikonLd3Cfg, nikonLdDef, EXV_COUNTOF(nikonLdDef) },
@ -615,7 +615,7 @@ namespace Exiv2 {
}; };
//! Nikon Color Balance binary array - configuration 1 //! Nikon Color Balance binary array - configuration 1
extern const ArrayCfg nikonCb1Cfg = { constexpr ArrayCfg nikonCb1Cfg = {
nikonCb1Id, // Group for the elements nikonCb1Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -626,7 +626,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - configuration 2 //! Nikon Color Balance binary array - configuration 2
extern const ArrayCfg nikonCb2Cfg = { constexpr ArrayCfg nikonCb2Cfg = {
nikonCb2Id, // Group for the elements nikonCb2Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -637,7 +637,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - configuration 2a //! Nikon Color Balance binary array - configuration 2a
extern const ArrayCfg nikonCb2aCfg = { constexpr ArrayCfg nikonCb2aCfg = {
nikonCb2aId, // Group for the elements nikonCb2aId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -648,7 +648,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - configuration 2b //! Nikon Color Balance binary array - configuration 2b
extern const ArrayCfg nikonCb2bCfg = { constexpr ArrayCfg nikonCb2bCfg = {
nikonCb2bId, // Group for the elements nikonCb2bId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -659,7 +659,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - configuration 3 //! Nikon Color Balance binary array - configuration 3
extern const ArrayCfg nikonCb3Cfg = { constexpr ArrayCfg nikonCb3Cfg = {
nikonCb3Id, // Group for the elements nikonCb3Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -670,7 +670,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - configuration 4 //! Nikon Color Balance binary array - configuration 4
extern const ArrayCfg nikonCb4Cfg = { constexpr ArrayCfg nikonCb4Cfg = {
nikonCb4Id, // Group for the elements nikonCb4Id, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUndefined, // Type for array entry ttUndefined, // Type for array entry
@ -681,41 +681,41 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Nikon Color Balance binary array - definition 1 (D100) //! Nikon Color Balance binary array - definition 1 (D100)
extern const ArrayDef nikonCb1Def[] = { constexpr ArrayDef nikonCb1Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 72, ttUnsignedShort, 4 } // Color balance levels { 72, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance binary array - definition 2 (D2H) //! Nikon Color Balance binary array - definition 2 (D2H)
extern const ArrayDef nikonCb2Def[] = { constexpr ArrayDef nikonCb2Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 10, ttUnsignedShort, 4 } // Color balance levels { 10, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance binary array - definition 2a (D50) //! Nikon Color Balance binary array - definition 2a (D50)
extern const ArrayDef nikonCb2aDef[] = { constexpr ArrayDef nikonCb2aDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 18, ttUnsignedShort, 4 } // Color balance levels { 18, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance binary array - definition 2b (D2X=0204,D2Hs=0206,D200=0207,D40=0208) //! Nikon Color Balance binary array - definition 2b (D2X=0204,D2Hs=0206,D200=0207,D40=0208)
extern const ArrayDef nikonCb2bDef[] = { constexpr ArrayDef nikonCb2bDef[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedShort, 140 }, // Unknown { 4, ttUnsignedShort, 140 }, // Unknown
{284, ttUnsignedShort, 3 }, // Unknown (encrypted) {284, ttUnsignedShort, 3 }, // Unknown (encrypted)
{290, ttUnsignedShort, 4 } // Color balance levels {290, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance binary array - definition 3 (D70) //! Nikon Color Balance binary array - definition 3 (D70)
extern const ArrayDef nikonCb3Def[] = { constexpr ArrayDef nikonCb3Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 20, ttUnsignedShort, 4 } // Color balance levels { 20, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance binary array - definition 4 (D3) //! Nikon Color Balance binary array - definition 4 (D3)
extern const ArrayDef nikonCb4Def[] = { constexpr ArrayDef nikonCb4Def[] = {
{ 0, ttUndefined, 4 }, // Version { 0, ttUndefined, 4 }, // Version
{ 4, ttUnsignedShort, 140 }, // Unknown { 4, ttUnsignedShort, 140 }, // Unknown
{284, ttUnsignedShort, 5 }, // Unknown (encrypted) {284, ttUnsignedShort, 5 }, // Unknown (encrypted)
{294, ttUnsignedShort, 4 } // Color balance levels {294, ttUnsignedShort, 4 } // Color balance levels
}; };
//! Nikon Color Balance configurations and definitions //! Nikon Color Balance configurations and definitions
extern const ArraySet nikonCbSet[] = { constexpr ArraySet nikonCbSet[] = {
{ nikonCb1Cfg, nikonCb1Def, EXV_COUNTOF(nikonCb1Def) }, { nikonCb1Cfg, nikonCb1Def, EXV_COUNTOF(nikonCb1Def) },
{ nikonCb2Cfg, nikonCb2Def, EXV_COUNTOF(nikonCb2Def) }, { nikonCb2Cfg, nikonCb2Def, EXV_COUNTOF(nikonCb2Def) },
{ nikonCb2aCfg, nikonCb2aDef, EXV_COUNTOF(nikonCb2aDef) }, { nikonCb2aCfg, nikonCb2aDef, EXV_COUNTOF(nikonCb2aDef) },
@ -725,7 +725,7 @@ namespace Exiv2 {
}; };
//! Minolta Camera Settings (old) binary array - configuration //! Minolta Camera Settings (old) binary array - configuration
extern const ArrayCfg minoCsoCfg = { constexpr ArrayCfg minoCsoCfg = {
minoltaCsOldId, // Group for the elements minoltaCsOldId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -737,7 +737,7 @@ namespace Exiv2 {
}; };
//! Minolta Camera Settings (new) binary array - configuration //! Minolta Camera Settings (new) binary array - configuration
extern const ArrayCfg minoCsnCfg = { constexpr ArrayCfg minoCsnCfg = {
minoltaCsNewId, // Group for the elements minoltaCsNewId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -749,7 +749,7 @@ namespace Exiv2 {
}; };
//! Minolta 7D Camera Settings binary array - configuration //! Minolta 7D Camera Settings binary array - configuration
extern const ArrayCfg minoCs7Cfg = { constexpr ArrayCfg minoCs7Cfg = {
minoltaCs7DId, // Group for the elements minoltaCs7DId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -760,13 +760,13 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Minolta 7D Camera Settings binary array - definition //! Minolta 7D Camera Settings binary array - definition
extern const ArrayDef minoCs7Def[] = { constexpr ArrayDef minoCs7Def[] = {
{ 60, ttSignedShort, 1 }, // Exif.MinoltaCs7D.ExposureCompensation { 60, ttSignedShort, 1 }, // Exif.MinoltaCs7D.ExposureCompensation
{ 126, ttSignedShort, 1 } // Exif.MinoltaCs7D.ColorTemperature { 126, ttSignedShort, 1 } // Exif.MinoltaCs7D.ColorTemperature
}; };
//! Minolta 5D Camera Settings binary array - configuration //! Minolta 5D Camera Settings binary array - configuration
extern const ArrayCfg minoCs5Cfg = { constexpr ArrayCfg minoCs5Cfg = {
minoltaCs5DId, // Group for the elements minoltaCs5DId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -777,7 +777,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Minolta 5D Camera Settings binary array - definition //! Minolta 5D Camera Settings binary array - definition
extern const ArrayDef minoCs5Def[] = { constexpr ArrayDef minoCs5Def[] = {
{ 146, ttSignedShort, 1 } // Exif.MinoltaCs5D.ColorTemperature { 146, ttSignedShort, 1 } // Exif.MinoltaCs5D.ColorTemperature
}; };
@ -787,7 +787,7 @@ namespace Exiv2 {
// setting in all four configurations. // setting in all four configurations.
//! Sony1 Camera Settings binary array - configuration //! Sony1 Camera Settings binary array - configuration
extern const ArrayCfg sony1CsCfg = { constexpr ArrayCfg sony1CsCfg = {
sony1CsId, // Group for the elements sony1CsId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -798,7 +798,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Sony1 Camera Settings 2 binary array - configuration //! Sony1 Camera Settings 2 binary array - configuration
extern const ArrayCfg sony1Cs2Cfg = { constexpr ArrayCfg sony1Cs2Cfg = {
sony1Cs2Id, // Group for the elements sony1Cs2Id, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -809,7 +809,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
extern const ArrayCfg sony2FpCfg = { constexpr ArrayCfg sony2FpCfg = {
sony2FpId, // Group for the elements sony2FpId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUnsignedByte, // Type for array entry and size element ttUnsignedByte, // Type for array entry and size element
@ -819,14 +819,14 @@ namespace Exiv2 {
false, // Don't concatenate gaps false, // Don't concatenate gaps
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
extern const ArrayDef sony2FpDef[] = { constexpr ArrayDef sony2FpDef[] = {
{ 0x4, ttSignedByte , 1 }, // Exif.Sony2Fp.AmbientTemperature { 0x4, ttSignedByte , 1 }, // Exif.Sony2Fp.AmbientTemperature
{ 0x16, ttUnsignedByte, 1 }, // Exif.Sony2Fp.FocusMode { 0x16, ttUnsignedByte, 1 }, // Exif.Sony2Fp.FocusMode
{ 0x17, ttUnsignedByte, 1 }, // Exif.Sony2Fp.AFAreaMode { 0x17, ttUnsignedByte, 1 }, // Exif.Sony2Fp.AFAreaMode
{ 0x2d, ttUnsignedByte, 1 } // Exif.Sony2Fp.FocusPosition2 { 0x2d, ttUnsignedByte, 1 } // Exif.Sony2Fp.FocusPosition2
}; };
extern const ArrayCfg sony2010eCfg = { constexpr ArrayCfg sony2010eCfg = {
sony2010eId, // Group for the elements sony2010eId, // Group for the elements
invalidByteOrder, // inherit from file. Usually littleEndian invalidByteOrder, // inherit from file. Usually littleEndian
ttUnsignedByte, // Type for array entry and size element ttUnsignedByte, // Type for array entry and size element
@ -836,7 +836,7 @@ namespace Exiv2 {
false, // Don't concatenate gaps false, // Don't concatenate gaps
{ 0, ttUnsignedByte, 1 } { 0, ttUnsignedByte, 1 }
}; };
extern const ArrayDef sony2010eDef[] = { constexpr ArrayDef sony2010eDef[] = {
{0, ttUnsignedLong, 1}, // Exif.Sony2010. SequenceImageNumber {0, ttUnsignedLong, 1}, // Exif.Sony2010. SequenceImageNumber
{4, ttUnsignedLong, 1}, // Exif.Sony2010. SequenceFileNumber {4, ttUnsignedLong, 1}, // Exif.Sony2010. SequenceFileNumber
{8, ttUnsignedLong, 1}, // Exif.Sony2010. ReleaseMode2 {8, ttUnsignedLong, 1}, // Exif.Sony2010. ReleaseMode2
@ -876,16 +876,16 @@ namespace Exiv2 {
}; };
//! Sony1 Camera Settings configurations and definitions //! Sony1 Camera Settings configurations and definitions
extern const ArraySet sony2010eSet[] = { constexpr ArraySet sony2010eSet[] = {
{ sony2010eCfg, sony2010eDef, EXV_COUNTOF(sony2010eDef) } { sony2010eCfg, sony2010eDef, EXV_COUNTOF(sony2010eDef) }
}; };
//! Sony[12] Camera Settings binary array - definition //! Sony[12] Camera Settings binary array - definition
extern const ArrayDef sonyCsDef[] = { constexpr ArrayDef sonyCsDef[] = {
{ 12, ttSignedShort, 1 } // Exif.Sony[12]Cs.WhiteBalanceFineTune { 12, ttSignedShort, 1 } // Exif.Sony[12]Cs.WhiteBalanceFineTune
}; };
//! Sony2 Camera Settings binary array - configuration //! Sony2 Camera Settings binary array - configuration
extern const ArrayCfg sony2CsCfg = { constexpr ArrayCfg sony2CsCfg = {
sony2CsId, // Group for the elements sony2CsId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -896,7 +896,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Sony2 Camera Settings 2 binary array - configuration //! Sony2 Camera Settings 2 binary array - configuration
extern const ArrayCfg sony2Cs2Cfg = { constexpr ArrayCfg sony2Cs2Cfg = {
sony2Cs2Id, // Group for the elements sony2Cs2Id, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -907,22 +907,22 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Sony[12] Camera Settings 2 binary array - definition //! Sony[12] Camera Settings 2 binary array - definition
extern const ArrayDef sonyCs2Def[] = { constexpr ArrayDef sonyCs2Def[] = {
{ 44, ttUnsignedShort, 1 } // Exif.Sony[12]Cs2.FocusMode { 44, ttUnsignedShort, 1 } // Exif.Sony[12]Cs2.FocusMode
}; };
//! Sony1 Camera Settings configurations and definitions //! Sony1 Camera Settings configurations and definitions
extern const ArraySet sony1CsSet[] = { constexpr ArraySet sony1CsSet[] = {
{ sony1CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) }, { sony1CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) },
{ sony1Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) } { sony1Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) }
}; };
//! Sony2 Camera Settings configurations and definitions //! Sony2 Camera Settings configurations and definitions
extern const ArraySet sony2CsSet[] = { constexpr ArraySet sony2CsSet[] = {
{ sony2CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) }, { sony2CsCfg, sonyCsDef, EXV_COUNTOF(sonyCsDef) },
{ sony2Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) } { sony2Cs2Cfg, sonyCs2Def, EXV_COUNTOF(sonyCs2Def) }
}; };
//! Sony Minolta Camera Settings (old) binary array - configuration //! Sony Minolta Camera Settings (old) binary array - configuration
extern const ArrayCfg sony1MCsoCfg = { constexpr ArrayCfg sony1MCsoCfg = {
sony1MltCsOldId, // Group for the elements sony1MltCsOldId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -934,7 +934,7 @@ namespace Exiv2 {
}; };
//! Sony Minolta Camera Settings (new) binary array - configuration //! Sony Minolta Camera Settings (new) binary array - configuration
extern const ArrayCfg sony1MCsnCfg = { constexpr ArrayCfg sony1MCsnCfg = {
sony1MltCsNewId, // Group for the elements sony1MltCsNewId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -946,7 +946,7 @@ namespace Exiv2 {
}; };
//! Sony Minolta 7D Camera Settings binary array - configuration //! Sony Minolta 7D Camera Settings binary array - configuration
extern const ArrayCfg sony1MCs7Cfg = { constexpr ArrayCfg sony1MCs7Cfg = {
sony1MltCs7DId, // Group for the elements sony1MltCs7DId, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -958,7 +958,7 @@ namespace Exiv2 {
}; };
//! Sony Minolta A100 Camera Settings binary array - configuration //! Sony Minolta A100 Camera Settings binary array - configuration
extern const ArrayCfg sony1MCsA100Cfg = { constexpr ArrayCfg sony1MCsA100Cfg = {
sony1MltCsA100Id, // Group for the elements sony1MltCsA100Id, // Group for the elements
bigEndian, // Big endian bigEndian, // Big endian
ttUndefined, // Type for array entry and size element ttUndefined, // Type for array entry and size element
@ -969,14 +969,14 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Sony Minolta A100 Camera Settings binary array - definition //! Sony Minolta A100 Camera Settings binary array - definition
extern const ArrayDef sony1MCsA100Def[] = { constexpr ArrayDef sony1MCsA100Def[] = {
{ 112, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.WhiteBalanceFineTune { 112, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.WhiteBalanceFineTune
{ 116, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.ColorCompensationFilter { 116, ttSignedShort, 1 }, // Exif.Sony1MltCsA100.ColorCompensationFilter
{ 190, ttSignedShort, 1 } // Exif.Sony1MltCsA100.ColorCompensationFilter2 { 190, ttSignedShort, 1 } // Exif.Sony1MltCsA100.ColorCompensationFilter2
}; };
//! Samsung PictureWizard binary array - configuration //! Samsung PictureWizard binary array - configuration
extern const ArrayCfg samsungPwCfg = { constexpr ArrayCfg samsungPwCfg = {
samsungPwId, // Group for the elements samsungPwId, // Group for the elements
invalidByteOrder, // Use byte order from parent invalidByteOrder, // Use byte order from parent
ttUnsignedShort, // Type for array entry ttUnsignedShort, // Type for array entry
@ -987,7 +987,7 @@ namespace Exiv2 {
{ 0, ttUnsignedShort, 1 } { 0, ttUnsignedShort, 1 }
}; };
//! Samsung PictureWizard binary array - definition //! Samsung PictureWizard binary array - definition
extern const ArrayDef samsungPwDef[] = { constexpr ArrayDef samsungPwDef[] = {
{ 0, ttUnsignedShort, 1 }, // Mode { 0, ttUnsignedShort, 1 }, // Mode
{ 2, ttUnsignedShort, 1 }, // Color { 2, ttUnsignedShort, 1 }, // Color
{ 4, ttUnsignedShort, 1 }, // Saturation { 4, ttUnsignedShort, 1 }, // Saturation

Loading…
Cancel
Save