diff --git a/src/minoltamn.cpp b/src/minoltamn.cpp index 8ff3e447..52a72516 100644 --- a/src/minoltamn.cpp +++ b/src/minoltamn.cpp @@ -1173,6 +1173,20 @@ namespace Exiv2 { { 2, N_("Error") } }; + //! Lookup table to translate Sony A100 camera settings image size values to readable labels + extern const TagDetails sonyImageSizeA100[] = { + { 0, N_("Standard") }, + { 1, N_("Medium") }, + { 2, N_("Small") } + }; + + //! Lookup table to translate Sony A100 camera settings instant playback setup values to readable labels + extern const TagDetails sonyInstantPlaybackSetupA100[] = { + { 0, N_("Image and Information") }, + { 1, N_("Image Only") }, + { 3, N_("Image and Histogram") } + }; + // Sony A100 Camera Settings Tag Info const TagInfo MinoltaMakerNote::tagInfoCsA100_[] = { TagInfo(0x0000, "ExposureMode", N_("Exposure Mode"), @@ -1301,6 +1315,27 @@ namespace Exiv2 { TagInfo(0x0040, "ColorCompensationFilter", N_("Color Compensation Filter"), N_("Color compensation filter"), sony1MltCsA100IfdId, makerTags, signedShort, printValue), + TagInfo(0x0041, "SonyImageSize", N_("Sony Image Size"), + N_("Sony Image Size"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyImageSizeA100)), + TagInfo(0x0042, "Quality", N_("Quality"), + N_("Quality"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyQualityCS), + TagInfo(0x0043, "InstantPlaybackTime", N_("Instant Playback Time"), + N_("Instant playback time"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printValue), + TagInfo(0x0044, "InstantPlaybackSetup", N_("Instant Playback Setup"), + N_("Instant playback setup"), + sony1MltCsA100IfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyInstantPlaybackSetupA100)), + TagInfo(0x0045, "NoiseReduction", N_("Noise Reduction"), + N_("Noise reduction"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), + TagInfo(0x0046, "EyeStartAF", N_("Eye Start AF"), + N_("Eye start AF"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), + TagInfo(0x0047, "RedEyeReduction", N_("Red Eye Reduction"), + N_("Red eye reduction"), + sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), /* TagInfo(0x0050, "Rotation", N_("Rotation"), @@ -1321,9 +1356,6 @@ namespace Exiv2 { TagInfo(0x00AE, "ImageNumber", N_("Image Number"), N_("Image number"), sony1MltCsA100IfdId, makerTags, unsignedShort, printValue), - TagInfo(0x00B0, "NoiseReduction", N_("Noise Reduction"), - N_("Noise reduction"), - sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), TagInfo(0x00BD, "ImageStabilization", N_("Image Stabilization"), N_("Image stabilization"), sony1MltCsA100IfdId, makerTags, unsignedShort, printMinoltaSonyBoolValue), diff --git a/src/minoltasonyvalues.cpp b/src/minoltasonyvalues.cpp index 95348b2e..080748f6 100644 --- a/src/minoltasonyvalues.cpp +++ b/src/minoltasonyvalues.cpp @@ -428,4 +428,22 @@ namespace Exiv2 { { return EXV_PRINT_TAG(minoltaSonyPrioritySetupShutterRelease)(os, value, metadata); } + + // ---------------------------------------------------------------------------------------------------- + + //! Lookup table to translate Sony camera settings quality values to readable labels + extern const TagDetails minoltaSonyQualityCS[] = { + { 0, N_("RAW ") }, + { 2, N_("CRAW ") }, + { 16, N_("Extra Fine") }, + { 32, N_("Fine") }, + { 34, N_("RAW+JPEG") }, + { 35, N_("CRAW+JPEG") }, + { 48, N_("Standard") } + }; + + std::ostream& printMinoltaSonyQualityCS(std::ostream& os, const Value& value, const ExifData* metadata) + { + return EXV_PRINT_TAG(minoltaSonyQualityCS)(os, value, metadata); + } } // namespace Exiv2 diff --git a/src/minoltasonyvalues.hpp b/src/minoltasonyvalues.hpp index 77cc62c8..addf7c63 100644 --- a/src/minoltasonyvalues.hpp +++ b/src/minoltasonyvalues.hpp @@ -61,6 +61,9 @@ namespace Exiv2 { //! Print Minolta/Sony priority setup shutter release values to readable labels. EXIV2API std::ostream& printMinoltaSonyPrioritySetupShutterRelease(std::ostream&, const Value&, const ExifData*); + //! Print Minolta/Sony Quality values to readable labels. + EXIV2API std::ostream& printMinoltaSonyQualityCS(std::ostream&, const Value&, const ExifData*); + // TODO: Added shared methods here. } // namespace Exiv2 diff --git a/src/sonymn.cpp b/src/sonymn.cpp index c19e56fd..2ddc327b 100644 --- a/src/sonymn.cpp +++ b/src/sonymn.cpp @@ -479,7 +479,7 @@ namespace Exiv2 { //! Lookup table to translate Sony camera settings image size values to readable labels extern const TagDetails sonyImageSize[] = { - { 1, N_("Large ") }, + { 1, N_("Large") }, { 2, N_("Medium") }, { 3, N_("Small") } }; @@ -490,17 +490,6 @@ namespace Exiv2 { { 2, "16:9" } }; - //! Lookup table to translate Sony camera settings quality values to readable labels - extern const TagDetails sonyQualityCS[] = { - { 0, N_("RAW ") }, - { 2, N_("CRAW ") }, - { 16, N_("Extra Fine") }, - { 32, N_("Fine") }, - { 34, N_("RAW+JPEG") }, - { 35, N_("CRAW+JPEG") }, - { 48, N_("Standard") } - }; - //! Lookup table to translate Sony exposure level increments values to readable labels extern const TagDetails sonyExposureLevelIncrements[] = { { 33, "1/3 EV" }, @@ -603,7 +592,7 @@ namespace Exiv2 { sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyAspectRatio)), TagInfo(0x0086, "Quality", N_("Quality"), N_("Quality"), - sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyQualityCS)), + sony1CsIfdId, makerTags, unsignedShort, printMinoltaSonyQualityCS), TagInfo(0x0088, "ExposureLevelIncrements", N_("Exposure Level Increments"), N_("Exposure Level Increments"), sony1CsIfdId, makerTags, unsignedShort, EXV_PRINT_TAG(sonyExposureLevelIncrements)),