Skip to content

Commit

Permalink
Updating to v12.80
Browse files Browse the repository at this point in the history
  • Loading branch information
morozgrafix committed Mar 21, 2024
1 parent 4c4c804 commit ac2173a
Show file tree
Hide file tree
Showing 59 changed files with 59,145 additions and 3,024 deletions.
83 changes: 79 additions & 4 deletions bin/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,80 @@ RSS feed: https://exiftool.org/rss.xml
Note: The most recent production release is Version 12.76. (Other versions are
considered development releases, and are not uploaded to MetaCPAN.)

Mar. 19, 2024 - Version 12.80

- Added GeolocationFeatureCode tag
- Added XMP-acdsee-rs tags and a new XMP-xmpDM tag
- Added ACDSeeRegion2MWGRegion conversion to config_files/acdsee.config
- Added GPSAltitudeRef to XMP-iptcExt LocationDetails structure
- Added a couple of new FujiFilm tags and a new CropMode value
- Added conversion for XMP-aux:ApproximateFocusDistance "infinity"
- Improved Geolocation regular expressions to allow negative matches
- Improved accuracy of Geolocation distance/bearing calculations
- Changed structure of Geolocation database (now version 1.02)
- Minor change to key format for user-defined Geolocation name translations
- Fixed case/spacing of "C2PA" in some CBOR tag descriptions
- Fixed bug extracting binary data from EXR files
- API Changes:
- Added GeolocFeature option

Mar. 15, 2024 - Version 12.79

- Improvements to new Geolocation feature:
- Added reverse Geolocation ability (obtain GPS coordinates from city
name), with support for regular expressions
- Added -listgeo option to list the Geolocation database
- Added the ability to include user-defined cities in the Geolocation
database
- Added the ability to write XMP-iptcExt LocationShown tags using Geolocate
feature
- Added the ability to specify which tags to read from file for the API
Geolocation option
- Added language translations for Geolocation names
- Increased resolution of Geolocation GPS positions and stored populations
- API Changes:
- Save necessary data members to allow GetInfo to be accessed by
user-defined tags

Mar. 5, 2024 - Version 12.78 - "Geolocation"

- Added new Geolocation feature and write-only Geolocate tag
- Added new config file entry (@Image::ExifTool::UserDefined::Arguments) to
allow default command-line arguments to be specified
- Added print conversion for TIFF-EPStandardID
- Added ability to delete Nextbase information from MP4 videos
- Decode timed GPS from MP4 videos written by Nextbase software
- Decode a number of new tags from Nextbase MP4 videos
- Decode a few new tags from Garmin MP4 videos
- Extract PreviewJXL images from DNG 1.7 files
- Generate Validate, ImageDataHash and UserParam tags earlier to allow them to
be used in UserDefined Composite tags
- Enhanced the -c option so a minus sign in the format specification prints a
signed coordinate without a leading "+" for positive numbers
- Changed formatting of some Accelerometer tags for consistency
- Changed behaviour of -ee3 option to do a brute-force scan for freeGPS in the
media data even when referenced by 'gps ' atom
- Other internal changes to decoding of timed GPS from videos
- Fixed problem were ExifTool would give up on extracting some types of timed
GPS from videos after 100 void fixes
- Fixed bug that could cause runtime error when reading Ogg files
- Fixed issue where some tags from alternate files using the -fileNUM option
weren't generated as requested
- API Changes:
- Added Geolocation, GeolocMaxDist and GeolocMinPop API options

Feb. 16, 2024 - Version 12.77

- Added new Olympus CameraType and LensType value (thanks herb)
- Added a new Canon Irix LensType
- Added the ability to delete MacOS XAttrMDItemWhereFroms
- Decode a few new Canon DPP tags (thanks John Moyer)
- Decode timed GPS from Adzome GS65H MOV videos
- Improved handling of XML-unfriendly characters in JSON field names (fixes
issue where -X option could produce invalid XML when reading JSON with the
-struct option)
- Fixed decoding of ShutterCount for Canon G5X-ii CR3 files

Jan. 31, 2024 - Version 12.76 (production release)

- Properly implement patch of 12.45 to avoid duplicating raw data when writing
Expand All @@ -19,6 +93,7 @@ Jan. 30, 2024 - Version 12.75 (production release)
- CORRUPTION WARNING: Fixed bug introduced in 12.45 which could result in
corrupted Sony ARW images from some newer models when rewriting lossless
compressed ARW images which were previously edited by 12.44 or earlier
(the corruption is repairable, but requires a special version of ExifTool)
- Added ability to read C2PA JUMBF metadata from PDF and SVG files
- Added ability to extract JUMBF metadata as a block
- Added read support for C2PA (JUMBF-format) files
Expand Down Expand Up @@ -547,7 +622,7 @@ Oct. 13, 2022 - Version 12.48
"Z" are actually in Zulu time -- a bit of a mess really)
- Prevent dynamically-generated Unknown tags from being extracted when the
-validate option is used without -u
- Patched to better handle irregular timestamps in streaming GPS of NextBase
- Patched to better handle irregular timestamps in streaming GPS of Nextbase
dashcam videos
- Fixed incompatibility with Sigma Photo Pro which could result in Sigma Photo
Pro corrupting an ExifTool-edited X3F image (the section length in the
Expand Down Expand Up @@ -1419,7 +1494,7 @@ Mar. 19, 2020 - Version 11.92
- Added a new Nikon LensID (thanks Wolfgang Exler)
- Decode a few new Leica tags (thanks Tim Gray)
- Decode AccelerometerData from Samsung Gear 360 videos
- Fixed a couple of problems decoding timed GPS metadata from NextBase dashcam
- Fixed a couple of problems decoding timed GPS metadata from Nextbase dashcam
videos
- Fixed problem where -X option could produce invalid XML when reading
corrupted XMP
Expand Down Expand Up @@ -2308,7 +2383,7 @@ Oct. 16, 2018 - Version 11.14

Oct. 9, 2018 - Version 11.13

- Decode GPS from NextBase 512G dashcam MOV videos (different than 512GW)
- Decode GPS from Nextbase 512G dashcam MOV videos (different than 512GW)
- Added a new Canon LensType (thanks LibRaw)
- Minor improvements to verbose dump of streaming GPS metadata
- Reverted change of version 10.71 which resulted in Windows not recognizing
Expand All @@ -2327,7 +2402,7 @@ Oct. 2, 2018 - Version 11.12
- Added a new Sony/Minolta LensType (thanks LibRaw and Jos Roost)
- Added a new Nikon LensID
- Decode a few new Sony SRF2 tags (thanks LibRaw)
- Decode GPS from NextBase 512GW dashcam MOV videos
- Decode GPS from Nextbase 512GW dashcam MOV videos
- Validate MS-DOC FIB before extracting contained tags
- Fixed bug extracting GPSSpeed for some dashcam models

Expand Down
27 changes: 27 additions & 0 deletions bin/MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ html/data_members.html
html/exiftool_pod.html
html/faq.html
html/filename.html
html/geolocation.html
html/geotag.html
html/history.html
html/htmldump.html
Expand Down Expand Up @@ -293,7 +294,27 @@ lib/Image/ExifTool/GE.pm
lib/Image/ExifTool/GIF.pm
lib/Image/ExifTool/GIMP.pm
lib/Image/ExifTool/GPS.pm
lib/Image/ExifTool/GeoLang/cs.pm
lib/Image/ExifTool/GeoLang/de.pm
lib/Image/ExifTool/GeoLang/en_ca.pm
lib/Image/ExifTool/GeoLang/en_gb.pm
lib/Image/ExifTool/GeoLang/es.pm
lib/Image/ExifTool/GeoLang/fi.pm
lib/Image/ExifTool/GeoLang/fr.pm
lib/Image/ExifTool/GeoLang/it.pm
lib/Image/ExifTool/GeoLang/ja.pm
lib/Image/ExifTool/GeoLang/ko.pm
lib/Image/ExifTool/GeoLang/nl.pm
lib/Image/ExifTool/GeoLang/pl.pm
lib/Image/ExifTool/GeoLang/ru.pm
lib/Image/ExifTool/GeoLang/sk.pm
lib/Image/ExifTool/GeoLang/sv.pm
lib/Image/ExifTool/GeoLang/tr.pm
lib/Image/ExifTool/GeoLang/zh_cn.pm
lib/Image/ExifTool/GeoLang/zh_tw.pm
lib/Image/ExifTool/GeoTiff.pm
lib/Image/ExifTool/Geolocation.dat
lib/Image/ExifTool/Geolocation.pm
lib/Image/ExifTool/Geotag.pm
lib/Image/ExifTool/GoPro.pm
lib/Image/ExifTool/H264.pm
Expand Down Expand Up @@ -599,6 +620,12 @@ t/GeoTiff.t
t/GeoTiff_2.out
t/GeoTiff_3.out
t/GeoTiff_4.out
t/Geolocation.t
t/Geolocation_2.out
t/Geolocation_3.out
t/Geolocation_4.out
t/Geolocation_5.out
t/Geolocation_6.out
t/Geotag.t
t/Geotag_10.out
t/Geotag_11.out
Expand Down
2 changes: 1 addition & 1 deletion bin/META.json
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,5 @@
}
},
"release_status" : "stable",
"version" : "12.76"
"version" : "12.80"
}
2 changes: 1 addition & 1 deletion bin/META.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ recommends:
Time::HiRes: 0
requires:
perl: 5.004
version: 12.76
version: 12.80
6 changes: 3 additions & 3 deletions bin/README
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ supported by ExifTool (r = read, w = write, c = create):
3GP r/w | DSS r | JP2 r/w | ODT r | RWL r/w
7Z r | DV r | JPEG r/w | OFR r | RWZ r
A r | DVB r/w | JSON r | OGG r | RM r
AA r | DVR-MS r | JXL r | OGV r | SEQ r
AA r | DVR-MS r | JXL r/w | OGV r | SEQ r
AAC r | DYLIB r | K25 r | ONP r | SKETCH r
AAE r | EIP r | KDC r | OPUS r | SO r
AAX r/w | EPS r/w | KEY r | ORF r/w | SR2 r/w
Expand Down Expand Up @@ -109,8 +109,8 @@ your home directory, then you would type the following commands in a
terminal window to extract and run ExifTool:

cd ~/Desktop
gzip -dc Image-ExifTool-12.76.tar.gz | tar -xf -
cd Image-ExifTool-12.76
gzip -dc Image-ExifTool-12.80.tar.gz | tar -xf -
cd Image-ExifTool-12.80
./exiftool t/images/ExifTool.jpg

Note: These commands extract meta information from one of the test images.
Expand Down
94 changes: 37 additions & 57 deletions bin/config_files/acdsee.config
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@
# type tags to ACDSee regions.
# MPRegion2ACDSeeRegion : Converts a Microsoft RegionInfoMP
# IPTCRegion2ACDSeeRegion : Converts an IPTC ImageRegion
# MWGRegion2ACDSeeRegion : Converts a MWG RegionInfo
# MWGRegion2ACDSeeRegion : Converts from a MWG RegionInfo
# ACDSeeRegion2MWGRegion : Converts to a MWG RegionInfo
#
# Usage: To set individual tags
# exiftool -config acdsee.config -ACDSEETAG=VALUE FILE ...
Expand All @@ -52,6 +53,8 @@
# exiftool -config acdsee.config "-RegionInfoACDSee<IPTCRegion2ACDSeeRegion" File ...
# To convert MWG Regions to ACDSee regions
# exiftool -config acdsee.config "-RegionInfoACDSee<MWGRegion2ACDSeeRegion" File ...
# To convert ACDSee Regions to MWG regions
# exiftool -config acdsee.config "-RegionInfo<ACDSeeRegion2MWGRegion" File ...
#
# Requires: ExifTool version 10.28 or later
#
Expand All @@ -64,45 +67,12 @@
# "RegionInfoACDSeeAppliedToDimensions*" -> "ACDSeeRegionAppliedToDimensions*"
# "RegionInfoACDSeeRegionList* -> "ACDSeeRegion*"
# 2022/10/03 - PH Set group name properly to XMP-acdsee-rs
# 2024/03/19 - PH Moved XMP-acdsee-rs tags into the standard distribution,
# and added ACDSeeRegion2MWGRegion conversion
#------------------------------------------------------------------------------
use Data::Dumper;

my %sACDSeeDimensions = (
STRUCT_NAME => 'ACDSee Dimensions',
NAMESPACE => {'acdsee-stDim' => 'http://ns.acdsee.com/sType/Dimensions#'},
'w' => { Writable => 'real' },
'h' => { Writable => 'real' },
'unit' => { },
);

my %sACDSeeArea = (
STRUCT_NAME => 'ACDSee Area',
NAMESPACE => { 'acdsee-stArea' => 'http://ns.acdsee.com/sType/Area#' },
'x' => { Writable => 'real' },
'y' => { Writable => 'real' },
w => { Writable => 'real' },
h => { Writable => 'real' },
);

my %sACDSeeRegionStruct = (
STRUCT_NAME => 'ACDSee Regions',
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
ALGArea => { Struct => \%sACDSeeArea },
DLYArea => { Struct => \%sACDSeeArea },
Name => { },
NameAssignType => { },
Type => { },
);

%Image::ExifTool::UserDefined = (
# new XMP namespaces for ACDSee regions
'Image::ExifTool::XMP::Main' => {
'acdsee-rs' => { # <-- must be the same as the NAMESPACE prefix
SubDirectory => {
TagTable => 'Image::ExifTool::UserDefined::ACDSeeRegions'
},
},
},
'Image::ExifTool::Composite' => {
# create an ACDSee RegionInfo structure from a Microsoft RegionInfoMP structure
MPRegion2ACDSeeRegion => {
Expand Down Expand Up @@ -176,7 +146,7 @@ my %sACDSeeRegionStruct = (
},
},

# create an MWG RegionInfo structure from an IPTC ImageRegion list
# create an ACDSee RegionInfo structure from an MWG RegionInfo structure
MWGRegion2ACDSeeRegion => {
Require => {
0 => 'RegionInfo',
Expand Down Expand Up @@ -207,29 +177,39 @@ my %sACDSeeRegionStruct = (
}
},
},
####
},
);

%Image::ExifTool::UserDefined::ACDSeeRegions = (
GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee-rs', 2 => 'Image' },
NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
WRITABLE => 'string', # (default to string-type tags)
Regions => {
Name => 'RegionInfoACDSee',
FlatName => 'ACDSee',
# the "Struct" entry defines the structure fields
Struct => {
# optional structure name (used for warning messages only)
STRUCT_NAME => 'ACDSee RegionInfo',
RegionList => {
FlatName => 'Region',
Struct => \%sACDSeeRegionStruct,
List => 'Bag',
# create an MWG RegionInfo structure from an ACDSee RegionInfo
ACDSeeRegion2MWGRegion => {
Require => {
0 => 'RegionInfoACDSee',
1 => 'ImageWidth',
2 => 'ImageHeight',
},
ValueConv => q{
my ($rgn, @newRgns);
my %newRgn;
foreach $rgn (@{$val[0]{RegionList}}) {
next unless $$rgn{Area} or defined $$rgn{Name};
my %newRgn;
if ($$rgn{DLYArea}) {
$newRgn{Area} = {
'X' => $$rgn{DLYArea}{'X'},
'Y' => $$rgn{DLYArea}{'Y'},
'W' => $$rgn{DLYArea}{'W'},
'H' => $$rgn{DLYArea}{'H'},
};
};
$newRgn{Name} = $$rgn{Name} if defined $$rgn{Name};
$newRgn{'Type'} = $$rgn{'Type'} if defined $$rgn{'Type'};
push @newRgns, \%newRgn;
}
return {
'AppliedToDimensions' => $val[0]{'AppliedToDimensions'},
RegionList => \@newRgns,
}
},
AppliedToDimensions => {
FlatName => 'RegionAppliedToDimensions',Struct => \%sACDSeeDimensions },
},
####
},
);

Expand Down
18 changes: 16 additions & 2 deletions bin/config_files/example.config
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
# Notes: This example file shows how to define your own shortcuts and
# add new EXIF, IPTC, XMP, PNG, MIE and Composite tags, as well
# as how to specify preferred lenses for the LensID tag, and
# define new file types and default ExifTool option values.
# define new file types and default ExifTool API options and
# command-line arguments.
#
# Note that unknown tags may be extracted even if they aren't
# defined, but tags must be defined to be written. Also note
Expand Down Expand Up @@ -345,7 +346,7 @@ use Image::ExifTool::MIE;
use Image::ExifTool::QuickTime;
$Image::ExifTool::QuickTime::Keys{PREFERRED} = 3;

# Specify default ExifTool option values
# Specify default ExifTool API options
# (see the Options function documentation for available options)
%Image::ExifTool::UserDefined::Options = (
CoordFormat => '%.6f', # change default GPS coordinate format
Expand All @@ -354,5 +355,18 @@ $Image::ExifTool::QuickTime::Keys{PREFERRED} = 3;
RequestAll => 3, # request additional tags not normally generated
);

# Specify default exiftool command-line arguments
# - inserted before all other options except -config
# - applies to all -execute'd commands
@Image::ExifTool::UserDefined::Arguments = (
'-i', 'HIDDEN', # ignore hidden files by default (names beginning with ".")
);

# Add user-defined cities to the Geolocation lookup
@Image::ExifTool::UserDefined::Geolocation = (
# (city,region,country code,country,timezone,population,lat,lon)
['Sinemorets','Burgas','BG','Bulgaria','Europe/Sofia',400,42.06115,27.97833],
);

#------------------------------------------------------------------------------
1; #end
Loading

0 comments on commit ac2173a

Please sign in to comment.