Image-ExifTool
view release on metacpan or search on metacpan
lib/Image/ExifTool/Exif.pm view on Meta::CPAN
Binary => 1,
Protected => 1,
},
0xcd47 => { # DNG 1.7
Name => 'ProfileDynamicRange',
Writable => 'undef',
WriteGroup => 'IFD0',
SubDirectory => {
TagTable => 'Image::ExifTool::DNG::ProfileDynamicRange',
ByteOrder => 'BigEndian', # (not indicated in spec)
},
},
0xcd48 => { # DNG 1.7
Name => 'ProfileGroupName',
Writable => 'string',
Format => 'string',
WriteGroup => 'IFD0',
Protected => 1,
},
0xcd49 => { # DNG 1.7.1
Name => 'JXLDistance',
Writable => 'float',
WriteGroup => 'IFD0',
},
0xcd4a => { # DNG 1.7.1
Name => 'JXLEffort',
Notes => 'values range from 1=low to 9=high',
Writable => 'int32u',
WriteGroup => 'IFD0',
},
0xcd4b => { # DNG 1.7.1
Name => 'JXLDecodeSpeed',
Notes => 'values range from 1=slow to 4=fast',
Writable => 'int32u',
WriteGroup => 'IFD0',
},
0xcea1 => {
Name => 'SEAL', # (writable directory!)
Writable => 'string',
WriteGroup => 'IFD0',
SubDirectory => { TagTable => 'Image::ExifTool::XMP::SEAL' },
WriteCheck => 'return "Can only delete"', # (don't allow writing)
},
0xea1c => { #13
Name => 'Padding',
Binary => 1,
Protected => 1,
Writable => 'undef',
# must start with 0x1c 0xea by the WM Photo specification
# (not sure what should happen if padding is only 1 byte)
# (why does MicrosoftPhoto write "1c ea 00 00 00 08"?)
RawConvInv => '$val=~s/^../\x1c\xea/s; $val',
},
0xea1d => {
Name => 'OffsetSchema',
Notes => "Microsoft's ill-conceived maker note offset difference",
Protected => 1,
Writable => 'int32s',
# From the Microsoft documentation:
#
# Any time the "Maker Note" is relocated by Windows, the Exif MakerNote
# tag (37500) is updated automatically to reference the new location. In
# addition, Windows records the offset (or difference) between the old and
# new locations in the Exif OffsetSchema tag (59933). If the "Maker Note"
# contains relative references, the developer can add the value in
# OffsetSchema to the original references to find the correct information.
#
# My recommendation is for other developers to ignore this tag because the
# information it contains is unreliable. It will be wrong if the image has
# been subsequently edited by another application that doesn't recognize the
# new Microsoft tag.
#
# The new tag unfortunately only gives the difference between the new maker
# note offset and the original offset. Instead, it should have been designed
# to store the original offset. The new offset may change if the image is
# edited, which will invalidate the tag as currently written. If instead the
# original offset had been stored, the new difference could be easily
# calculated because the new maker note offset is known.
#
# I exchanged emails with a Microsoft technical representative, pointing out
# this problem shortly after they released the update (Feb 2007), but so far
# they have taken no steps to address this.
},
# 0xefee - int16u: 0 - seen this from a WIC-scanned image
# tags in the range 0xfde8-0xfe58 have been observed in PS7 files
# generated from RAW images. They are all strings with the
# tag name at the start of the string. To accommodate these types
# of tags, all tags with values above 0xf000 are handled specially
# by ProcessExif().
0xfde8 => {
Name => 'OwnerName',
Condition => '$$self{TIFF_TYPE} ne "DCR"', # (used for another purpose in Kodak DCR images)
Avoid => 1,
PSRaw => 1,
Writable => 'string',
ValueConv => '$val=~s/^.*: //;$val',
ValueConvInv => q{"Owner's Name: $val"},
Notes => q{
tags 0xfde8-0xfdea and 0xfe4c-0xfe58 are generated by Photoshop Camera RAW.
Some names are the same as other EXIF tags, but ExifTool will avoid writing
these unless they already exist in the file
},
},
0xfde9 => {
Name => 'SerialNumber',
Condition => '$$self{TIFF_TYPE} ne "DCR"', # (used for another purpose in Kodak DCR SubIFD)
Avoid => 1,
PSRaw => 1,
Writable => 'string',
ValueConv => '$val=~s/^.*: //;$val',
ValueConvInv => q{"Serial Number: $val"},
},
0xfdea => {
Name => 'Lens',
Condition => '$$self{TIFF_TYPE} ne "DCR"', # (used for another purpose in Kodak DCR SubIFD)
Avoid => 1,
PSRaw => 1,
Writable => 'string',
ValueConv => '$val=~s/^.*: //;$val',
ValueConvInv => q{"Lens: $val"},
( run in 0.802 second using v1.01-cache-2.11-cpan-71847e10f99 )