Skip to content

Commit 5709119

Browse files
committed
Add new Exif 3.1 tags
1 parent 02d397a commit 5709119

2 files changed

Lines changed: 46 additions & 0 deletions

File tree

src/tags_int.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1779,6 +1779,20 @@ const TagInfo* ifdTagList() {
17791779
return ifdTagInfo;
17801780
}
17811781

1782+
//! Distortion/ChromaticAbberation/ShadingCorrection, tags 0xa40f, 0xa410, 0xa411
1783+
constexpr TagDetails exifLensCorrection[] = {
1784+
{0, N_("Not applied")},
1785+
{1, N_("Applied")},
1786+
};
1787+
1788+
//! NoiseReduction, tag 0xa412
1789+
constexpr TagDetails exifNoiseReduction[] = {
1790+
{0, N_("Not applied")},
1791+
{1, N_("Low strength")},
1792+
{2, N_("Normal strength")},
1793+
{3, N_("High strength")},
1794+
};
1795+
17821796
//! CompositeImage, tag 0xa460
17831797
constexpr TagDetails exifCompositeImage[] = {
17841798
{0, N_("Unknown")},
@@ -1921,6 +1935,9 @@ constexpr TagInfo exifTagInfo[] = {
19211935
"besides those in <ImageDescription>, and without the "
19221936
"character code limitations of the <ImageDescription> tag."),
19231937
IfdId::exifId, SectionId::userInfo, comment, 0, printValue},
1938+
{0x9287, "LearningOptOutIn", N_("Learning Usage Intention"),
1939+
N_("This tag indicates the copyright holder's intention on use of the file for machine (AI) learning."),
1940+
IfdId::exifId, SectionId::userInfo, undefined, 0, printValue}, // Exif 3.1
19241941
{0x9290, "SubSecTime", N_("Sub-seconds Time"),
19251942
N_("A tag used to record fractions of seconds for the <DateTime> tag."), IfdId::exifId, SectionId::dateTime,
19261943
asciiString, 0, printValue},
@@ -2101,6 +2118,28 @@ constexpr TagInfo exifTagInfo[] = {
21012118
{0xa40c, "SubjectDistanceRange", N_("Subject Distance Range"),
21022119
N_("This tag indicates the distance to the subject."), IfdId::exifId, SectionId::captureCond, unsignedShort, 1,
21032120
print0xa40c},
2121+
{0xa40d, "DevelopmentType", N_("Development Type"),
2122+
N_("This tag indicates the qualitative type of image processing (development) performed when generating the "
2123+
"recorded image."),
2124+
IfdId::exifId, SectionId::captureCond, unsignedShort, 1, printValue}, // Exif 3.1
2125+
{0xa40e, "DevelopmentTypeDescription", N_("Development Type Description"),
2126+
N_("This tag is used to record the concrete image processing (development) on the qualitative information shown "
2127+
"by DevelopmentType tag."),
2128+
IfdId::exifId, SectionId::captureCond, asciiString, 0, printValue}, // Exif 3.1
2129+
{0xa40f, "DistortionCorrection", N_("Distortion Correction"),
2130+
N_("This tag indicates whether or not distortion correction processing was applied by the camera at the capture."),
2131+
IfdId::exifId, SectionId::captureCond, unsignedShort, 1, EXV_PRINT_TAG(exifLensCorrection)}, // Exif 3.1
2132+
{0xa410, "ChromaticAberrationCorrection", N_("Chromatic Aberration Correction"),
2133+
N_("This tag indicates whether or not chromatic aberration correction processing was applied by the camera at the "
2134+
"capture."),
2135+
IfdId::exifId, SectionId::captureCond, unsignedShort, 1, EXV_PRINT_TAG(exifLensCorrection)}, // Exif 3.1
2136+
{0xa411, "ShadingCorrection", N_("Shading Correction"),
2137+
N_("This tag indicates whether or not shading correction processing was applied by the camera at the capture."),
2138+
IfdId::exifId, SectionId::captureCond, unsignedShort, 1, EXV_PRINT_TAG(exifLensCorrection)}, // Exif 3.1
2139+
{0xa412, "NoiseReduction", N_("Noise Reduction"),
2140+
N_("This tag indicates whether or not, and the tendency of noise reduction was applied by the camera at the "
2141+
"capture."),
2142+
IfdId::exifId, SectionId::captureCond, unsignedShort, 1, EXV_PRINT_TAG(exifNoiseReduction)}, // Exif 3.1
21042143
{0xa420, "ImageUniqueID", N_("Image Unique ID"),
21052144
N_("This tag indicates an identifier assigned uniquely to "
21062145
"each image. It is recorded as an ASCII string equivalent "

test/data/test_reference_files/test_pr_1905_poc1_ref.out

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ FocalLength,37386,0x920a,Photo,Exif.Photo.FocalLength,Rational,"The actual focal
287287
SubjectArea,37396,0x9214,Photo,Exif.Photo.SubjectArea,Short,"This tag indicates the location and area of the main subject in the overall scene."
288288
MakerNote,37500,0x927c,Photo,Exif.Photo.MakerNote,Undefined,"A tag for manufacturers of Exif writers to record any desired information. The contents are up to the manufacturer."
289289
UserComment,37510,0x9286,Photo,Exif.Photo.UserComment,Comment,"A tag for Exif users to write keywords or comments on the image besides those in <ImageDescription>, and without the character code limitations of the <ImageDescription> tag."
290+
LearningOptOutIn,37511,0x9287,Photo,Exif.Photo.LearningOptOutIn,Undefined,"This tag indicates the copyright holder's intention on use of the file for machine (AI) learning."
290291
SubSecTime,37520,0x9290,Photo,Exif.Photo.SubSecTime,Ascii,"A tag used to record fractions of seconds for the <DateTime> tag."
291292
SubSecTimeOriginal,37521,0x9291,Photo,Exif.Photo.SubSecTimeOriginal,Ascii,"A tag used to record fractions of seconds for the <DateTimeOriginal> tag."
292293
SubSecTimeDigitized,37522,0x9292,Photo,Exif.Photo.SubSecTimeDigitized,Ascii,"A tag used to record fractions of seconds for the <DateTimeDigitized> tag."
@@ -325,6 +326,12 @@ Saturation,41993,0xa409,Photo,Exif.Photo.Saturation,Short,"This tag indicates th
325326
Sharpness,41994,0xa40a,Photo,Exif.Photo.Sharpness,Short,"This tag indicates the direction of sharpness processing applied by the camera when the image was shot."
326327
DeviceSettingDescription,41995,0xa40b,Photo,Exif.Photo.DeviceSettingDescription,Undefined,"This tag indicates information on the picture-taking conditions of a particular camera model. The tag is used only to indicate the picture-taking conditions in the reader."
327328
SubjectDistanceRange,41996,0xa40c,Photo,Exif.Photo.SubjectDistanceRange,Short,"This tag indicates the distance to the subject."
329+
DevelopmentType,41997,0xa40d,Photo,Exif.Photo.DevelopmentType,Short,"This tag indicates the qualitative type of image processing (development) performed when generating the recorded image."
330+
DevelopmentTypeDescription,41998,0xa40e,Photo,Exif.Photo.DevelopmentTypeDescription,Ascii,"This tag is used to record the concrete image processing (development) on the qualitative information shown by DevelopmentType tag."
331+
DistortionCorrection,41999,0xa40f,Photo,Exif.Photo.DistortionCorrection,Short,"This tag indicates whether or not distortion correction processing was applied by the camera at the capture."
332+
ChromaticAberrationCorrection,42000,0xa410,Photo,Exif.Photo.ChromaticAberrationCorrection,Short,"This tag indicates whether or not chromatic aberration correction processing was applied by the camera at the capture."
333+
ShadingCorrection,42001,0xa411,Photo,Exif.Photo.ShadingCorrection,Short,"This tag indicates whether or not shading correction processing was applied by the camera at the capture."
334+
NoiseReduction,42002,0xa412,Photo,Exif.Photo.NoiseReduction,Short,"This tag indicates whether or not, and the tendency of noise reduction was applied by the camera at the capture."
328335
ImageUniqueID,42016,0xa420,Photo,Exif.Photo.ImageUniqueID,Ascii,"This tag indicates an identifier assigned uniquely to each image. It is recorded as an ASCII string equivalent to hexadecimal notation and 128-bit fixed length."
329336
CameraOwnerName,42032,0xa430,Photo,Exif.Photo.CameraOwnerName,Ascii,"This tag records the owner of a camera used in photography as an ASCII string."
330337
BodySerialNumber,42033,0xa431,Photo,Exif.Photo.BodySerialNumber,Ascii,"This tag records the serial number of the body of the camera that was used in photography as an ASCII string."

0 commit comments

Comments
 (0)