From ef58603260fc0bbfe091283b1f466432aaf4258e Mon Sep 17 00:00:00 2001 From: clanmills Date: Mon, 6 Apr 2020 11:58:10 +0100 Subject: [PATCH] fix_1047_0.27 --- src/fujimn_int.cpp | 48 ++++++++++++++++ test/data/FujiTagsDRangeAutoRating1.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsDRangeStrongRating3.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsDRangeWeakRating2.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsSTone-2HTone4.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsSTone0HTone0Rating4.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsSTone1HTone-1Rating5.jpg | Bin 0 -> 2270 bytes test/data/FujiTagsSTone4HTone-2.jpg | Bin 0 -> 2270 bytes tests/bugfixes/github/test_fuji_tags.py | 64 +++++++++++++++++++++ tests/bugfixes/redmine/test_issue_1179.py | 30 ++++++++++ 10 files changed, 142 insertions(+) create mode 100644 test/data/FujiTagsDRangeAutoRating1.jpg create mode 100644 test/data/FujiTagsDRangeStrongRating3.jpg create mode 100644 test/data/FujiTagsDRangeWeakRating2.jpg create mode 100644 test/data/FujiTagsSTone-2HTone4.jpg create mode 100644 test/data/FujiTagsSTone0HTone0Rating4.jpg create mode 100644 test/data/FujiTagsSTone1HTone-1Rating5.jpg create mode 100644 test/data/FujiTagsSTone4HTone-2.jpg create mode 100644 tests/bugfixes/github/test_fuji_tags.py diff --git a/src/fujimn_int.cpp b/src/fujimn_int.cpp index 74181136..9668eb7a 100644 --- a/src/fujimn_int.cpp +++ b/src/fujimn_int.cpp @@ -135,6 +135,18 @@ namespace Exiv2 { { 768, N_("Manual") } }; + //! ShadowTone, tag 0x1040 + //! HighlightTone, tag 0x041 + extern const TagDetails fujiSHTone[] = { + { -64, N_("+4") }, + { -48, N_("+3") }, + { -32, N_("+2") }, + { -16, N_("+1") }, + { 0 , N_("0") }, + { 16, N_("-1") }, + { 32, N_("-2") }, + }; + //! Continuous, tag 0x1100 extern const TagDetails fujiContinuous[] = { { 0, N_("Off") }, @@ -180,6 +192,24 @@ namespace Exiv2 { { 32768, N_("Film simulation mode") } }; + //! DRangePriority, tag 0x1443 + extern const TagDetails fujiDRangePriority[] = { + { 0, N_("Auto") }, + { 1, N_("Fixed") } + }; + + //! DRangePriorityAuto, tag 0x1444 + extern const TagDetails fujiDRangePriorityAuto[] = { + { 1, N_("Weak") }, + { 2, N_("Strong") } + }; + + //! DRangePriorityFixed, tag 0x1445 + extern const TagDetails fujiDRangePriorityFixed[] = { + { 1, N_("Weak") }, + { 2, N_("Strong") } + }; + // Fujifilm MakerNote Tag Info const TagInfo FujiMakerNote::tagInfo_[] = { TagInfo(0x0000, "Version", N_("Version"), @@ -228,6 +258,12 @@ namespace Exiv2 { TagInfo(0x1032, "0x1032", "0x1032", N_("Unknown"), fujiId, makerTags, unsignedShort, -1, printValue), + TagInfo(0x1040, "ShadowTone", N_("Shadow Tone"), + N_("Shadow tone"), + fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)), + TagInfo(0x1041, "HighlightTone", N_("Highlight Tone"), + N_("Highlight tone"), + fujiId, makerTags, signedLong, -1, EXV_PRINT_TAG(fujiSHTone)), TagInfo(0x1100, "Continuous", N_("Continuous"), N_("Continuous shooting or auto bracketing setting"), fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiContinuous)), @@ -273,6 +309,18 @@ namespace Exiv2 { TagInfo(0x1407, "MaxApertureAtMaxFocal", N_("Maximum Aperture at Maximum Focal"), N_("Maximum aperture at maximum focal"), fujiId, makerTags, unsignedRational, -1, printValue), + TagInfo(0x1431, "Rating", N_("Rating"), + N_("Rating"), + fujiId, makerTags, unsignedLong, -1, printValue), + TagInfo(0x1443, "DRangePriority", N_("D Range Priority"), + N_("Dynamic range priority"), + fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriority)), + TagInfo(0x1444, "DRangePriorityFixed", N_("D Range Priority Fixed"), + N_("Dynamic range priority fixed"), + fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityFixed)), + TagInfo(0x1445, "DRangePriorityAuto", N_("D Range Priority Auto"), + N_("Dynamic range priority auto"), + fujiId, makerTags, unsignedShort, -1, EXV_PRINT_TAG(fujiDRangePriorityAuto)), TagInfo(0x8000, "FileSource", N_("File Source"), N_("File source"), fujiId, makerTags, asciiString, -1, printValue), diff --git a/test/data/FujiTagsDRangeAutoRating1.jpg b/test/data/FujiTagsDRangeAutoRating1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..92b39bd38271d56906618029f3351e64addece2d GIT binary patch literal 2270 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 VUjI++M{03V7T@)02aQww;RjBM7V`iA literal 0 HcmV?d00001 diff --git a/test/data/FujiTagsSTone0HTone0Rating4.jpg b/test/data/FujiTagsSTone0HTone0Rating4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..926220274faac31b1d7fa039a0282b1a013ace7a GIT binary patch literal 2270 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 Vum7j^1GTs)i|_ihgT^U-{{!c37Y6_U literal 0 HcmV?d00001 diff --git a/tests/bugfixes/github/test_fuji_tags.py b/tests/bugfixes/github/test_fuji_tags.py new file mode 100644 index 00000000..dd82fb2e --- /dev/null +++ b/tests/bugfixes/github/test_fuji_tags.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- + +import system_tests + +class FujiTags(metaclass=system_tests.CaseMeta): + + filesAndExpectedOutput = [ +("FujiTagsDRangeAutoRating1.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 +Exif.Fujifilm.Rating Long 1 1 +Exif.Fujifilm.DRangePriority Short 1 Auto +Exif.Fujifilm.DRangePriorityAuto Short 1 Weak +""") +, +("FujiTagsDRangeWeakRating2.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 +Exif.Fujifilm.Rating Long 1 2 +Exif.Fujifilm.DRangePriority Short 1 Fixed +Exif.Fujifilm.DRangePriorityFixed Short 1 Weak +""") +, +("FujiTagsDRangeStrongRating3.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 +Exif.Fujifilm.Rating Long 1 3 +Exif.Fujifilm.DRangePriority Short 1 Fixed +Exif.Fujifilm.DRangePriorityFixed Short 1 Strong +"""), +("FujiTagsSTone0HTone0Rating4.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 +Exif.Fujifilm.Rating Long 1 4 +"""), +("FujiTagsSTone1HTone-1Rating5.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 +1 +Exif.Fujifilm.HighlightTone SLong 1 -1 +Exif.Fujifilm.Rating Long 1 5 +"""), +("FujiTagsSTone4HTone-2.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 +4 +Exif.Fujifilm.HighlightTone SLong 1 -2 +Exif.Fujifilm.Rating Long 1 0 +"""), +("FujiTagsSTone-2HTone4.jpg", +"""Exif.Fujifilm.ShadowTone SLong 1 -2 +Exif.Fujifilm.HighlightTone SLong 1 +4 +Exif.Fujifilm.Rating Long 1 0 +""") +] + + tags = ["Exif.Fujifilm.ShadowTone", + "Exif.Fujifilm.HighlightTone", + "Exif.Fujifilm.Rating", + "Exif.Fujifilm.DRangePriority", + "Exif.Fujifilm.DRangePriorityAuto", + "Exif.Fujifilm.DRangePriorityFixed"] + + tagcmd = "$exiv2 -K " + " -K ".join(tags) + commands = ["$tagcmd $data_path/" + f for f, _ in filesAndExpectedOutput] + stdout = [e for _, e in filesAndExpectedOutput] + stderr = [""] * len(filesAndExpectedOutput) + retval = [0] * len(filesAndExpectedOutput) diff --git a/tests/bugfixes/redmine/test_issue_1179.py b/tests/bugfixes/redmine/test_issue_1179.py index a2d346b0..5efcdd35 100644 --- a/tests/bugfixes/redmine/test_issue_1179.py +++ b/tests/bugfixes/redmine/test_issue_1179.py @@ -35,6 +35,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Auto Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -43,6 +45,7 @@ Exif.Fujifilm.ExposureWarning Short 1 Off Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.FilmMode Short 1 F0/Standard (Provia) Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -56,6 +59,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Auto Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -64,6 +69,7 @@ Exif.Fujifilm.ExposureWarning Short 1 Off Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.FilmMode Short 1 F2/Fujichrome (Velvia) Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, #b """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -77,6 +83,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Auto Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -85,6 +93,7 @@ Exif.Fujifilm.ExposureWarning Short 1 Off Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.FilmMode Short 1 F1b/Studio Portrait Smooth Skin Tone (Astia) Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -98,6 +107,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Auto Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -106,6 +117,7 @@ Exif.Fujifilm.ExposureWarning Short 1 Off Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.FilmMode Short 1 Classic Chrome Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -119,6 +131,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Auto Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -127,6 +141,7 @@ Exif.Fujifilm.ExposureWarning Short 1 Off Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.FilmMode Short 1 Pro Neg. Hi Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -140,6 +155,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Manual Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 On @@ -147,6 +164,7 @@ Exif.Fujifilm.FocusWarning Short 1 Off Exif.Fujifilm.ExposureWarning Short 1 On Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -160,6 +178,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Manual Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Program AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 On @@ -167,6 +187,7 @@ Exif.Fujifilm.FocusWarning Short 1 Off Exif.Fujifilm.ExposureWarning Short 1 On Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -180,6 +201,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Manual Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Shutter speed priority AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -187,6 +210,7 @@ Exif.Fujifilm.FocusWarning Short 1 Off Exif.Fujifilm.ExposureWarning Short 1 On Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -200,6 +224,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Manual Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Shutter speed priority AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -207,6 +233,7 @@ Exif.Fujifilm.FocusWarning Short 1 Off Exif.Fujifilm.ExposureWarning Short 1 On Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """, """Exif.Fujifilm.Version Undefined 4 48 49 51 48 Exif.Fujifilm.SerialNumber Ascii 48 FFDT22794526 593332303134151113535030217060 @@ -220,6 +247,8 @@ Exif.Fujifilm.Macro Short 1 Off Exif.Fujifilm.FocusMode Short 1 Manual Exif.Fujifilm.SlowSync Short 1 Off Exif.Fujifilm.PictureMode Short 1 Shutter speed priority AE +Exif.Fujifilm.ShadowTone SLong 1 0 +Exif.Fujifilm.HighlightTone SLong 1 0 Exif.Fujifilm.Continuous Short 1 Off Exif.Fujifilm.SequenceNumber Short 1 0 Exif.Fujifilm.BlurWarning Short 1 Off @@ -227,6 +256,7 @@ Exif.Fujifilm.FocusWarning Short 1 Off Exif.Fujifilm.ExposureWarning Short 1 On Exif.Fujifilm.DynamicRange Short 1 Standard Exif.Fujifilm.DynamicRangeSetting Short 1 Auto (100-400%) +Exif.Fujifilm.Rating Long 1 0 """ ] stderr = [""] * 10