exiftool_vendored 12.65.0 → 12.67.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 043102c6d2f82c4799b2885cbd9fdd7e9dfac5f1fe0450dea8bc2392a995dca3
4
- data.tar.gz: f188b33293746a02b5b8814a5b566cfefebb9311146d75a383522686424dc547
3
+ metadata.gz: 7a6389f7140433c97eea74b3a6b428d8c5d940dc4d295741a9a69027ee561079
4
+ data.tar.gz: b28eb642d02cf914b516e1e5e2a40588548b7ab77158a1cf78ee6b76334ad682
5
5
  SHA512:
6
- metadata.gz: af7e7099dbf145f6ad9000691f208cd15bac17f74b5051e5e3273837f3d6d09b121171d3b593029bca036b6b58b23dddc55b962ddf9b2d7e0638a9d926de5400
7
- data.tar.gz: f92aae3415a5d73e8c449c466584798d66941ec0c28d97ebe1e88c0d917cecfce642c7bf2b20608fd425ddd412ff2b2a3659da97519a413903524fc99d98da73
6
+ metadata.gz: 0b6f0e36a66b21a6e6d9635484cba7d0ad9f94aabfede322548a0f7e31e100aa0c75766f4c0248fba3be575e734ef698b270086b5a35ba3c5164118090cc02f6
7
+ data.tar.gz: 15859db49991094833a0e8cb4ac64604b8235abc48fdb0baea28f4d4c6a1260c9b241be4e4b4ceabc4ca840eb4da9386546f843913702488109ab2393fb1465f
data/bin/Changes CHANGED
@@ -7,6 +7,26 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 12.60. (Other versions are
8
8
  considered development releases, and are not uploaded to MetaCPAN.)
9
9
 
10
+ Sept. 19, 2023 - Version 12.67
11
+
12
+ - Added a new Pentax LensType (thanks dmont)
13
+ - Added a new FujiFilm FilmMode and FaceElementTypes values (thanks Greybeard)
14
+ - Fixed error writing new DataMining tag where URI prefix wasn't being
15
+ properly added to the value
16
+
17
+ Sept. 19, 2023 - Version 12.66
18
+
19
+ - Added a few new Canon LensType values (thanks Norbert Wasser)
20
+ - Added conversions for a few Apple:ImageCaptureType values
21
+ - Added new XMP tag for PLUS version 2.0.1
22
+ - Added a new CanonModelID (thanks Laurent Clevy)
23
+ - Decode another tag from Canon 1DS raw images (Hubert Figuiere, github #219)
24
+ - Decode JPGCompression for newer Nikon models (thanks Warren Hatch)
25
+ - Fixed bug introduced in 12.65 where duplicate tags were not returned even
26
+ when the groups where specified explicitly
27
+ - API Changes:
28
+ - Added WindowsWideFile option
29
+
10
30
  Aug. 10, 2023 - Version 12.65
11
31
 
12
32
  - Added a new QuickTime Keys tag
data/bin/META.json CHANGED
@@ -50,5 +50,5 @@
50
50
  }
51
51
  },
52
52
  "release_status" : "stable",
53
- "version" : "12.65"
53
+ "version" : "12.67"
54
54
  }
data/bin/META.yml CHANGED
@@ -31,4 +31,4 @@ recommends:
31
31
  Time::HiRes: 0
32
32
  requires:
33
33
  perl: 5.004
34
- version: 12.65
34
+ version: 12.67
data/bin/README CHANGED
@@ -108,8 +108,8 @@ your home directory, then you would type the following commands in a
108
108
  terminal window to extract and run ExifTool:
109
109
 
110
110
  cd ~/Desktop
111
- gzip -dc Image-ExifTool-12.65.tar.gz | tar -xf -
112
- cd Image-ExifTool-12.65
111
+ gzip -dc Image-ExifTool-12.67.tar.gz | tar -xf -
112
+ cd Image-ExifTool-12.67
113
113
  ./exiftool t/images/ExifTool.jpg
114
114
 
115
115
  Note: These commands extract meta information from one of the test images.
data/bin/exiftool CHANGED
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '12.65';
14
+ my $version = '12.67';
15
15
 
16
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
17
17
  my $exePath;
@@ -5582,7 +5582,7 @@ with this command:
5582
5582
 
5583
5583
  produces output like this:
5584
5584
 
5585
- -- Generated by ExifTool 12.65 --
5585
+ -- Generated by ExifTool 12.67 --
5586
5586
  File: a.jpg - 2003:10:31 15:44:19
5587
5587
  (f/5.6, 1/60s, ISO 100)
5588
5588
  File: b.jpg - 2006:05:23 11:57:38
@@ -6527,7 +6527,8 @@ load exiftool for each invocation.
6527
6527
  Set ExifTool API option. I<OPT> is an API option name. The option value is
6528
6528
  set to 1 if I<=VAL> is omitted. If I<VAL> is omitted, the option value is
6529
6529
  set to undef if C<=> is used, or an empty string with C<^=>. If I<OPT> is
6530
- not specified a list of available options is returned. See
6530
+ not specified a list of available options is returned. The option name is
6531
+ not case senstive, but the option values are. See
6531
6532
  L<Image::ExifTool Options|Image::ExifTool/Options> for option details. This
6532
6533
  overrides API options set via the config file.
6533
6534
 
@@ -7323,10 +7324,13 @@ CreateDate and FileNumber tags, in the form "20060507_118-1861.jpg".
7323
7324
 
7324
7325
  =head1 GEOTAGGING EXAMPLES
7325
7326
 
7326
- ExifTool implements geotagging via 3 special tags: Geotag (which for
7327
- convenience is also implemented as an exiftool option), Geosync and Geotime.
7328
- The examples below highlight some geotagging features. See
7329
- L<https://exiftool.org/geotag.html> for additional documentation.
7327
+ ExifTool implements geotagging from GPS log files via 3 special tags: Geotag
7328
+ (which for convenience is also implemented as an exiftool option), Geosync
7329
+ and Geotime. The examples below highlight some geotagging features. See
7330
+ L<https://exiftool.org/geotag.html> for additional documentation. (Note
7331
+ that geotagging from known GPS coordinates is done by writing the
7332
+ L<GPS tags|Image::ExifTool::TagNames/GPS Tags> directly rather than using
7333
+ the B<-geotag> option.)
7330
7334
 
7331
7335
  =over 5
7332
7336
 
@@ -16,7 +16,7 @@ use vars qw($VERSION);
16
16
  use Image::ExifTool::Exif;
17
17
  use Image::ExifTool::PLIST;
18
18
 
19
- $VERSION = '1.10';
19
+ $VERSION = '1.11';
20
20
 
21
21
  sub ConvertPLIST($$);
22
22
 
@@ -123,8 +123,12 @@ sub ConvertPLIST($$);
123
123
  0x0014 => { # (StillImageCaptureType, ref 2)
124
124
  Name => 'ImageCaptureType',
125
125
  Writable => 'int32s',
126
- Unknown => 1, # (don't know what the values mean)
127
126
  # seen: 1,2,3,4,5,10,12
127
+ PrintConv => { #forum15096
128
+ 1 => 'ProRAW',
129
+ 2 => 'Portrait',
130
+ 10 => 'Photo',
131
+ },
128
132
  },
129
133
  0x0015 => { # (ImageGroupIdentifier, ref 2)
130
134
  Name => 'ImageUniqueID',
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.67';
91
+ $VERSION = '4.68';
92
92
 
93
93
  # Note: Removed 'USM' from 'L' lenses since it is redundant - PH
94
94
  # (or is it? Ref 32 shows 5 non-USM L-type lenses)
@@ -476,7 +476,6 @@ $VERSION = '4.67';
476
476
  255.1 => 'Sigma 180mm f/2.8 EX DG OS HSM APO Macro', #50
477
477
  255.2 => 'Tamron SP 70-200mm f/2.8 Di VC USD', #exiv issue 1202 (A009)
478
478
  255.3 => 'Yongnuo YN 50mm f/1.8', #50
479
- 313 => 'Canon RF 28mm F2.8 STM', #42
480
479
  368 => 'Sigma 14-24mm f/2.8 DG HSM | A or other Sigma Lens', #IB (A018)
481
480
  368.1 => 'Sigma 20mm f/1.4 DG HSM | A', #50 (newer firmware)
482
481
  368.2 => 'Sigma 50mm f/1.4 DG HSM | A', #50
@@ -609,18 +608,24 @@ $VERSION = '4.67';
609
608
  '61182.33' => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
610
609
  '61182.34' => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
611
610
  '61182.35' => 'Canon RF 600mm F4L IS USM', #GiaZopatti
612
- '61182.36' => 'Canon RF 15-30mm F4.5-6.3 IS STM', #42
613
- '61182.37' => 'Canon RF 800mm F5.6L IS USM', #42
614
- '61182.38' => 'Canon RF 800mm F5.6L IS USM + RF1.4x', #42
615
- '61182.39' => 'Canon RF 800mm F5.6L IS USM + RF2x', #42
616
- '61182.40' => 'Canon RF 1200mm F8L IS USM', #42
617
- '61182.41' => 'Canon RF 1200mm F8L IS USM + RF1.4x', #42
618
- '61182.42' => 'Canon RF 1200mm F8L IS USM + RF2x', #42
619
- '61182.43' => 'Canon RF 135mm F1.8 L IS USM', #42
620
- '61182.44' => 'Canon RF 24-50mm F4.5-6.3 IS STM', #42
621
- '61182.45' => 'Canon RF-S 55-210mm F5-7.1 IS STM', #42
611
+ '61182.36' => 'Canon RF 600mm F4L IS USM + RF1.4x', #42
612
+ '61182.37' => 'Canon RF 600mm F4L IS USM + RF2x', #42
613
+ '61182.38' => 'Canon RF 15-30mm F4.5-6.3 IS STM', #42
614
+ '61182.39' => 'Canon RF 800mm F5.6L IS USM', #42
615
+ '61182.40' => 'Canon RF 800mm F5.6L IS USM + RF1.4x', #42
616
+ '61182.41' => 'Canon RF 800mm F5.6L IS USM + RF2x', #42
617
+ '61182.42' => 'Canon RF 1200mm F8L IS USM', #42
618
+ '61182.43' => 'Canon RF 1200mm F8L IS USM + RF1.4x', #42
619
+ '61182.44' => 'Canon RF 1200mm F8L IS USM + RF2x', #42
620
+ '61182.45' => 'Canon RF 135mm F1.8 L IS USM', #42
621
+ '61182.46' => 'Canon RF 24-50mm F4.5-6.3 IS STM', #42
622
+ '61182.47' => 'Canon RF-S 55-210mm F5-7.1 IS STM', #42
623
+ '61182.48' => 'Canon RF 100-300mm F2.8L IS USM', #42
624
+ '61182.49' => 'Canon RF 100-300mm F2.8L IS USM + RF1.4x', #42
625
+ '61182.50' => 'Canon RF 100-300mm F2.8L IS USM + RF2x', #42
626
+ '61182.51' => 'Canon RF 28mm F2.8 STM', #42
622
627
  # we need the RFLensType values for the following...
623
- '61182.46' => 'Canon RF 5.2mm F2.8L Dual Fisheye 3D VR', #PH (NC)
628
+ '61182.52' => 'Canon RF 5.2mm F2.8L Dual Fisheye 3D VR', #PH (NC)
624
629
  65535 => 'n/a',
625
630
  );
626
631
 
@@ -985,6 +990,7 @@ $VERSION = '4.67';
985
990
  0x80000481 => 'EOS R6 Mark II', #42
986
991
  0x80000487 => 'EOS R8', #42
987
992
  0x80000491 => 'PowerShot V10', #25
993
+ 0x80000498 => 'EOS R100', #25
988
994
  0x80000520 => 'EOS D2000C', #IB
989
995
  0x80000560 => 'EOS D6000C', #PH (guess)
990
996
  );
@@ -1698,6 +1704,12 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1698
1704
  # Writable => 'int32u',
1699
1705
  # Protected => 2,
1700
1706
  },
1707
+ 0x82 => { #github219 (found on 1DS)
1708
+ Name => 'RawDataLength',
1709
+ # (can't yet write 1DS raw files)
1710
+ # Writable => 'int32u',
1711
+ # Protected => 2,
1712
+ },
1701
1713
  0x83 => { #PH
1702
1714
  Name => 'OriginalDecisionDataOffset',
1703
1715
  Writable => 'int32u',
@@ -6859,6 +6871,8 @@ my %ciMaxFocal = (
6859
6871
  290 => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
6860
6872
  291 => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
6861
6873
  292 => 'Canon RF 600mm F4L IS USM', #GiaZopatti
6874
+ 293 => 'Canon RF 600mm F4L IS USM + RF1.4x', #42
6875
+ 294 => 'Canon RF 600mm F4L IS USM + RF2x', #42
6862
6876
  295 => 'Canon RF 800mm F5.6L IS USM', #42
6863
6877
  296 => 'Canon RF 800mm F5.6L IS USM + RF1.4x', #42
6864
6878
  297 => 'Canon RF 800mm F5.6L IS USM + RF2x', #42
@@ -6869,6 +6883,10 @@ my %ciMaxFocal = (
6869
6883
  303 => 'Canon RF 135mm F1.8 L IS USM', #42
6870
6884
  304 => 'Canon RF 24-50mm F4.5-6.3 IS STM', #42
6871
6885
  305 => 'Canon RF-S 55-210mm F5-7.1 IS STM', #42
6886
+ 306 => 'Canon RF 100-300mm F2.8L IS USM', #42
6887
+ 307 => 'Canon RF 100-300mm F2.8L IS USM + RF1.4x', #42
6888
+ 308 => 'Canon RF 100-300mm F2.8L IS USM + RF2x', #42
6889
+ 313 => 'Canon RF 28mm F2.8 STM', #42
6872
6890
  # Note: add new RF lenses to %canonLensTypes with ID 61182
6873
6891
  },
6874
6892
  },
@@ -31,7 +31,7 @@ use vars qw($VERSION);
31
31
  use Image::ExifTool qw(:DataAccess :Utils);
32
32
  use Image::ExifTool::Exif;
33
33
 
34
- $VERSION = '1.88';
34
+ $VERSION = '1.89';
35
35
 
36
36
  sub ProcessFujiDir($$$);
37
37
  sub ProcessFaceRec($$$);
@@ -670,6 +670,7 @@ my %faceCategories = (
670
670
  0x800 => 'Classic Negative', #forum10536
671
671
  0x900 => 'Bleach Bypass', #forum10890
672
672
  0xa00 => 'Nostalgic Neg', #forum12085
673
+ 0xb00 => 'Reala ACE', #forum15190
673
674
  },
674
675
  },
675
676
  0x1402 => { #2
@@ -897,6 +898,8 @@ my %faceCategories = (
897
898
  25 => 'Aircraft Cockpit',
898
899
  26 => 'Train Front',
899
900
  27 => 'Train Cockpit',
901
+ 28 => 'Animal Head (28)', #forum15192
902
+ 29 => 'Animal Body (29)', #forum15192
900
903
  },'REPEAT'],
901
904
  },
902
905
  # 0x4202 int8u[-1] - number of cooredinates in each rectangle? (ref 11)
@@ -1109,7 +1109,7 @@ sub SetGeoValues($$;$)
1109
1109
  $iExt = $i1;
1110
1110
  }
1111
1111
  if (abs($time - $tn) > $geoMaxExtSecs) {
1112
- $err or $err = 'Time is too far from nearest GPS fix';
1112
+ $err or $err = 'Time is too far from nearest GPS fix'.' '.abs($time-$tn).' '.$geoMaxExtSecs;
1113
1113
  $et->VPrint(2, ' Nearest fix: ', PrintFixTime($tn), "\n") if $verbose > 2;
1114
1114
  $fix = { } if $$geotag{DateTimeOnly};
1115
1115
  } else {
@@ -65,7 +65,7 @@ use Image::ExifTool::Exif;
65
65
  use Image::ExifTool::GPS;
66
66
  use Image::ExifTool::XMP;
67
67
 
68
- $VERSION = '4.24';
68
+ $VERSION = '4.25';
69
69
 
70
70
  sub LensIDConv($$$);
71
71
  sub ProcessNikonAVI($$$);
@@ -1983,6 +1983,14 @@ my %base64coord = (
1983
1983
  Writable => 'rational64s',
1984
1984
  Count => 2,
1985
1985
  },
1986
+ 0x0044 => { #28
1987
+ Name => 'JPGCompression',
1988
+ RawConv => '($val) ? $val : undef', # undef for raw files
1989
+ PrintConv => {
1990
+ 1 => 'Size Priority',
1991
+ 3 => 'Optimal Quality',
1992
+ },
1993
+ },
1986
1994
  0x0045 => { #IB
1987
1995
  Name => 'CropArea',
1988
1996
  Notes => 'left, top, width, height',
@@ -9808,6 +9816,7 @@ my %nikonFocalConversions = (
9808
9816
  290 => { Name => 'PhotoShootingMenuBank', PrintConv => \%banksZ9 },
9809
9817
  292 => { Name => 'ExtendedMenuBanks', PrintConv => \%offOn }, # single tag from both Photo & Video menus
9810
9818
  328 => { Name => 'PhotoShootingMenuBankImageArea', PrintConv => \%imageAreaZ9 },
9819
+ #334 JPGCompression 0 => 'Size Priority', 1 => 'Optimal Quality',
9811
9820
  342 => { Name => 'AutoISO', PrintConv => \%offOn },
9812
9821
  344 => {
9813
9822
  Name => 'ISOAutoHiLimit',
@@ -14,7 +14,7 @@ use strict;
14
14
  use vars qw($VERSION);
15
15
  use Image::ExifTool::XMP;
16
16
 
17
- $VERSION = '1.00';
17
+ $VERSION = '1.02';
18
18
 
19
19
  sub ValidateMediaSummary($);
20
20
 
@@ -2311,12 +2311,13 @@ my %mediaMatrix = (
2311
2311
  GROUPS => { 0 => 'XMP', 1 => 'XMP-plus', 2 => 'Author' },
2312
2312
  NAMESPACE => 'plus',
2313
2313
  NOTES => q{
2314
- PLUS (Picture Licensing Universal System) License Data Format 1.2.1 XMP
2314
+ PLUS (Picture Licensing Universal System) License Data Format 2.0.1 XMP
2315
2315
  tags. Note that all controlled-vocabulary tags in this table (ie. tags with
2316
2316
  a fixed set of values) have raw values which begin with
2317
2317
  "http://ns.useplus.org/ldf/vocab/", but to reduce clutter this prefix has
2318
- been removed from the values shown below. See L<http://ns.useplus.org/> for
2319
- the complete specification.
2318
+ been removed from the values shown below, and from the values read and
2319
+ written with the -n option. See L<http://ns.useplus.org/> for the complete
2320
+ specification.
2320
2321
  },
2321
2322
  Version => { Name => 'PLUSVersion' },
2322
2323
  Licensee => {
@@ -2529,6 +2530,20 @@ my %mediaMatrix = (
2529
2530
  Custom8 => { List => 'Bag', Writable => 'lang-alt' },
2530
2531
  Custom9 => { List => 'Bag', Writable => 'lang-alt' },
2531
2532
  Custom10 => { List => 'Bag', Writable => 'lang-alt' },
2533
+ DataMining => {
2534
+ %plusVocab,
2535
+ PrintConv => {
2536
+ 'DMI-UNSPECIFIED' => 'Unspecified - no prohibition defined',
2537
+ 'DMI-ALLOWED' => 'Allowed',
2538
+ 'DMI-PROHIBITED-AIMLTRAINING' => 'Prohibited for AI/ML training',
2539
+ 'DMI-PROHIBITED-GENAIMLTRAINING' => 'Prohibited for Generative AI/ML training',
2540
+ 'DMI-PROHIBITED-EXCEPTSEARCHENGINEINDEXING' => 'Prohibited except for search engine indexing',
2541
+ 'DMI-PROHIBITED' => 'Prohibited',
2542
+ 'DMI-PROHIBITED-SEECONSTRAINT' => 'Prohibited, see plus:OtherConstraints',
2543
+ 'DMI-PROHIBITED-SEEEMBEDDEDRIGHTSEXPR' => 'Prohibited, see iptcExt:EmbdEncRightsExpr',
2544
+ 'DMI-PROHIBITED-SEELINKEDRIGHTSEXPR' => 'Prohibited, see iptcExt:LinkedEncRightsExpr',
2545
+ },
2546
+ },
2532
2547
  );
2533
2548
 
2534
2549
  #------------------------------------------------------------------------------
@@ -58,7 +58,7 @@ use Image::ExifTool::Exif;
58
58
  use Image::ExifTool::GPS;
59
59
  use Image::ExifTool::HP;
60
60
 
61
- $VERSION = '3.42';
61
+ $VERSION = '3.43';
62
62
 
63
63
  sub CryptShutterCount($$);
64
64
  sub PrintFilter($$$);
@@ -175,6 +175,7 @@ sub DecodeAFPoints($$$$;$);
175
175
  '4 2' => 'smc PENTAX-FA 80-320mm F4.5-5.6',
176
176
  '4 3' => 'smc PENTAX-FA 43mm F1.9 Limited',
177
177
  '4 6' => 'smc PENTAX-FA 35-80mm F4-5.6',
178
+ '4 7' => 'Irix 45mm F1.4', #27
178
179
  '4 8' => 'Irix 150mm F2.8 Macro', #exiv2 issue 1084
179
180
  '4 9' => 'Irix 11mm F4 Firefly', #27
180
181
  '4 10' => 'Irix 15mm F2.4', #27
@@ -265,6 +266,7 @@ sub DecodeAFPoints($$$$;$);
265
266
  '6 14' => 'smc PENTAX-FA* Macro 200mm F4 ED[IF]',
266
267
  '7 0' => 'smc PENTAX-DA 21mm F3.2 AL Limited', #13
267
268
  '7 58' => 'smc PENTAX-D FA Macro 100mm F2.8 WR', #PH - this bit of information cost me $600 ;)
269
+ # '7 58' also 'HD PENTAX-D FA MACRO 100mm F2.8 ED AW' (ref 27)
268
270
  '7 75' => 'Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro (A001)', #(Anton Bondar)
269
271
  '7 201' => 'smc Pentax-DA L 50-200mm F4-5.6 ED WR', #(Bruce Rusk)
270
272
  '7 202' => 'smc PENTAX-DA L 18-55mm F3.5-5.6 AL WR', #29
@@ -2165,6 +2165,7 @@ my %tagLookup = (
2165
2165
  'darkpedestal' => { 138 => 0xc7f },
2166
2166
  'datacompressionmethod' => { 133 => 0x6e },
2167
2167
  'dataimprint' => { 181 => 0x34 },
2168
+ 'datamining' => { 327 => 'DataMining' },
2168
2169
  'dataonscreen' => { 514 => 'DataOnScreen' },
2169
2170
  'dataonscreenregion' => { 514 => [\'DataOnScreen','DataOnScreenRegion'] },
2170
2171
  'dataonscreenregiond' => { 514 => [\'DataOnScreen','DataOnScreenRegionD'] },
@@ -3765,7 +3766,7 @@ my %tagLookup = (
3765
3766
  'jpeghandling' => { 500 => 'JPEGHandling', 502 => 'JPEGHandling' },
3766
3767
  'jpegquality' => { 10 => 0x66, 340 => 0x43, 342 => 0x3034, 440 => 0xb047 },
3767
3768
  'jpegsize' => { 342 => 0x303a },
3768
- 'jpgcompression' => { 225 => 0x24 },
3769
+ 'jpgcompression' => { 225 => 0x24, 234 => 0x44 },
3769
3770
  'jpgfromraw' => { 97 => 0x2007, 114 => 'Exif-JpgFromRaw', 345 => 0x2e },
3770
3771
  'jpgfromrawlength' => { 119 => [0x117,0x202] },
3771
3772
  'jpgfromrawstart' => { 119 => [0x111,0x201] },
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
12
12
  =head1 TAG TABLES
13
13
 
14
14
  The tables listed below give the names of all tags recognized by ExifTool.
15
- They contain a total of 26990 tags, with 16972 unique tag names.
15
+ They contain a total of 26993 tags, with 16973 unique tag names.
16
16
 
17
17
  B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
18
18
  table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
@@ -5557,7 +5557,7 @@ These tags belong to the ExifTool XMP-prism family 1 group.
5557
5557
 
5558
5558
  PRISM Rights Language 2.1 namespace tags. These tags have been deprecated
5559
5559
  since the release of the PRISM Usage Rights 3.0. (see
5560
- L<http://www.prismstandard.org/>)
5560
+ L<https://www.w3.org/submissions/2020/SUBM-prism-20200910/prism-image.html>)
5561
5561
 
5562
5562
  These tags belong to the ExifTool XMP-prl family 1 group.
5563
5563
 
@@ -6570,12 +6570,13 @@ GeoTiffAsciiParams.
6570
6570
 
6571
6571
  =head3 PLUS XMP Tags
6572
6572
 
6573
- PLUS (Picture Licensing Universal System) License Data Format 1.2.1 XMP
6573
+ PLUS (Picture Licensing Universal System) License Data Format 2.0.1 XMP
6574
6574
  tags. Note that all controlled-vocabulary tags in this table (ie. tags with
6575
6575
  a fixed set of values) have raw values which begin with
6576
6576
  "http://ns.useplus.org/ldf/vocab/", but to reduce clutter this prefix has
6577
- been removed from the values shown below. See L<http://ns.useplus.org/> for
6578
- the complete specification.
6577
+ been removed from the values shown below, and from the values read and
6578
+ written with the -n option. See L<http://ns.useplus.org/> for the complete
6579
+ specification.
6579
6580
 
6580
6581
  These tags belong to the ExifTool XMP-plus family 1 group.
6581
6582
 
@@ -6599,6 +6600,7 @@ These tags belong to the ExifTool XMP-plus family 1 group.
6599
6600
  Custom7 lang-alt+
6600
6601
  Custom8 lang-alt+
6601
6602
  Custom9 lang-alt+
6603
+ DataMining string
6602
6604
  EndUser EndUser Struct+
6603
6605
  EndUserID string_+
6604
6606
  EndUserName string_+
@@ -7188,7 +7190,7 @@ Tags extracted from the maker notes of iPhone images.
7188
7190
  0x000c FocusDistanceRange rational64s[2]
7189
7191
  0x000f OISMode int32s
7190
7192
  0x0011 ContentIdentifier string
7191
- 0x0014 ImageCaptureType? int32s
7193
+ 0x0014 ImageCaptureType int32s
7192
7194
  0x0015 ImageUniqueID string
7193
7195
  0x0017 LivePhotoVideoIndex yes
7194
7196
  0x0019 ImageProcessingFlags? int32s
@@ -7516,6 +7518,7 @@ Unknown only to reduce the volume of the normal output.
7516
7518
  0x0038 BatteryType undef
7517
7519
  0x003c AFInfo3 Canon AFInfo2
7518
7520
  0x0081 RawDataOffset no
7521
+ 0x0082 RawDataLength no
7519
7522
  0x0083 OriginalDecisionDataOffset int32u*
7520
7523
  0x0090 CustomFunctions1D CanonCustom Functions1D
7521
7524
  0x0091 PersonalFunctions CanonCustom PersonalFuncs
@@ -13764,6 +13767,7 @@ DiMAGE X and Xt.
13764
13767
  0x003d BlackLevel int16u[4]
13765
13768
  0x003e ImageSizeRAW yes
13766
13769
  0x003f WhiteBalanceFineTune rational64s[2]
13770
+ 0x0044 JPGCompression yes
13767
13771
  0x0045 CropArea int16u[4]
13768
13772
  0x004e NikonSettings NikonSettings
13769
13773
  0x004f ColorTemperatureAuto int16u
@@ -1320,6 +1320,7 @@ sub SetNewValuesFromFile($$;@)
1320
1320
  Unknown => $$options{Unknown},
1321
1321
  UserParam => $$options{UserParam},
1322
1322
  Validate => $$options{Validate},
1323
+ WindowsWideFile => $$options{WindowsWideFile},
1323
1324
  XAttrTags => $$options{XAttrTags},
1324
1325
  XMPAutoConv => $$options{XMPAutoConv},
1325
1326
  );
@@ -1063,7 +1063,7 @@ my %prismPublicationDate = (
1063
1063
  NOTES => q{
1064
1064
  PRISM Rights Language 2.1 namespace tags. These tags have been deprecated
1065
1065
  since the release of the PRISM Usage Rights 3.0. (see
1066
- L<http://www.prismstandard.org/>)
1066
+ L<https://www.w3.org/submissions/2020/SUBM-prism-20200910/prism-image.html>)
1067
1067
  },
1068
1068
  geography => { List => 'Bag' },
1069
1069
  industry => { List => 'Bag' },
@@ -29,15 +29,15 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars);
31
31
 
32
- $VERSION = '12.65';
32
+ $VERSION = '12.67';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
36
36
  # all public non-object-oriented functions:
37
37
  Public => [qw(
38
- ImageInfo GetTagName GetShortcuts GetAllTags GetWritableTags
39
- GetAllGroups GetDeleteGroups GetFileType CanWrite CanCreate
40
- AddUserDefinedTags
38
+ ImageInfo AvailableOptions GetTagName GetShortcuts GetAllTags
39
+ GetWritableTags GetAllGroups GetDeleteGroups GetFileType CanWrite
40
+ CanCreate AddUserDefinedTags
41
41
  )],
42
42
  # exports not part of the public API, but used by ExifTool modules:
43
43
  DataAccess => [qw(
@@ -1133,6 +1133,7 @@ my @availableOptions = (
1133
1133
  [ 'UserParam', { }, 'user parameters for additional user-defined tag values' ],
1134
1134
  [ 'Validate', undef, 'perform additional validation' ],
1135
1135
  [ 'Verbose', 0, 'print verbose messages (0-5, higher # = more verbose)' ],
1136
+ [ 'WindowsWideFile', undef, 'force the use of Windows wide-character file routines' ], # (see forum15208)
1136
1137
  [ 'WriteMode', 'wcg', 'enable all write modes by default' ],
1137
1138
  [ 'XAttrTags', undef, 'extract MacOS extended attribute tags' ],
1138
1139
  [ 'XMPAutoConv', 1, 'automatic conversion of unknown XMP tag values' ],
@@ -4305,6 +4306,7 @@ sub EncodeFileName($$;$)
4305
4306
  {
4306
4307
  my ($self, $file, $force) = @_;
4307
4308
  my $enc = $$self{OPTIONS}{CharsetFileName};
4309
+ $force = 1 if $$self{OPTIONS}{WindowsWideFile};
4308
4310
  if ($enc) {
4309
4311
  if ($file =~ /[\x80-\xff]/ or $force) {
4310
4312
  # encode for use in Windows Unicode functions if necessary
@@ -4740,13 +4742,16 @@ sub CopyAltInfo($$$)
4740
4742
  # Notes: index lists are returned in increasing order
4741
4743
  sub SetFoundTags($)
4742
4744
  {
4745
+ local $_;
4743
4746
  my $self = shift;
4744
4747
  my $options = $$self{OPTIONS};
4745
4748
  my $reqTags = $$self{REQUESTED_TAGS} || [ ];
4746
4749
  my $duplicates = $$options{Duplicates};
4747
4750
  my $exclude = $$options{Exclude};
4748
4751
  my $fileOrder = $$self{FILE_ORDER};
4749
- my @groupOptions = sort grep /^Group/, keys %$options;
4752
+ my @groupOptions;
4753
+ # ignore empty group options
4754
+ $$options{$_} and push @groupOptions, $_ foreach sort grep /^Group/, keys %$options;
4750
4755
  my $doDups = $duplicates || $exclude || @groupOptions;
4751
4756
  my ($tag, $rtnTags, @byValue, @wildTags);
4752
4757
 
@@ -4911,7 +4916,6 @@ sub SetFoundTags($)
4911
4916
  $groupList = [ $$options{$groupOpt} ];
4912
4917
  }
4913
4918
  foreach (@$groupList) {
4914
- next unless defined $_;
4915
4919
  # groups have priority in order they were specified
4916
4920
  ++$wantOrder;
4917
4921
  my ($groupName, $want);
@@ -391,12 +391,14 @@ ExifTool may be returned:
391
391
  Get/set ExifTool options. This function can be called to set the default
392
392
  options for an ExifTool object. Options set this way are in effect for
393
393
  all function calls but may be overridden by options passed as arguments
394
- to some functions. Option names are not case sensitive.
394
+ to some functions. Option names are not case sensitive, but option values
395
+ are.
395
396
 
396
397
  The default option values may be changed by defining a
397
398
  %Image::ExifTool::UserDefined::Options hash. See the ExifTool_config file
398
- in the full ExifTool distribution for examples. A default of undef has the
399
- same behaviour as a value of 0 for numerical options.
399
+ in the full ExifTool distribution for examples. Unless otherwise noted, a
400
+ default of undef has the same effect as a value of 0 for options with
401
+ numerical values.
400
402
 
401
403
  # exclude the 'OwnerName' tag from returned information
402
404
  $exifTool->Options(Exclude => 'OwnerName');
@@ -1081,6 +1083,14 @@ details about the tags. Level 3 adds a hex dump of the tag data, but with
1081
1083
  limits on the number of bytes dumped. Levels 4 and 5 remove the dump limit
1082
1084
  on tag values and JPEG segment data respectively.
1083
1085
 
1086
+ =item WindowsWideFile
1087
+
1088
+ Force the use of wide-character Windows I/O functions when the
1089
+ L</CharsetFileName> option is used. This may be necessary when files are on
1090
+ a network drive and the current directory name contains Unicode characters.
1091
+ By default, the wide-character functions are used only if the specified file
1092
+ path contains Unicode characters.
1093
+
1084
1094
  =item WriteMode
1085
1095
 
1086
1096
  Set tag write/create mode. Value is a string of one or more characters from
@@ -1155,7 +1165,7 @@ ExtractEmbedded, FastScan, FixBase, HtmlDump, HtmlDumpBase,
1155
1165
  IgnoreMinorErrors, IgnoreTags, Lang, LargeFileSupport, MakerNotes,
1156
1166
  MDItemTags, NoPDFList, Password, QuickTimeUTC (enforced 1904 time zero),
1157
1167
  RequestAll, RequestTags, SaveFormat, SavePath, ScanForXMP, Struct, TextOut,
1158
- Unknown, Verbose, XAttrTags and XMPAutoConv.
1168
+ Unknown, Verbose, WindowsWideFile, XAttrTags and XMPAutoConv.
1159
1169
 
1160
1170
  =item Return Value:
1161
1171
 
@@ -1294,7 +1304,7 @@ The following ExifTool options are effective in the call to L</WriteInfo>:
1294
1304
 
1295
1305
  ByteOrder, Charset, CharsetEXIF, CharsetFileName, CharsetIPTC, Compact,
1296
1306
  Compress, FixBase, IgnoreMinorErrors, NoMultiExif, NoPDFList, Password,
1297
- QuickTimeHandler, QuickTimePad, Verbose and WriteMode.
1307
+ QuickTimeHandler, QuickTimePad, Verbose, WindowsWideFile and WriteMode.
1298
1308
 
1299
1309
  =head2 GetTagList
1300
1310
 
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.65
3
+ Version: 12.67
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('12.65.0')
4
+ VERSION = Gem::Version.new('12.67.0')
5
5
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exiftool_vendored
3
3
  version: !ruby/object:Gem::Version
4
- version: 12.65.0
4
+ version: 12.67.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
8
8
  - Sergey Morozov
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-11 00:00:00.000000000 Z
12
+ date: 2023-09-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool
@@ -312,7 +312,7 @@ licenses:
312
312
  - MIT
313
313
  metadata:
314
314
  rubygems_mfa_required: 'true'
315
- post_install_message:
315
+ post_install_message:
316
316
  rdoc_options: []
317
317
  require_paths:
318
318
  - lib
@@ -327,8 +327,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
327
327
  - !ruby/object:Gem::Version
328
328
  version: '0'
329
329
  requirements: []
330
- rubygems_version: 3.1.6
331
- signing_key:
330
+ rubygems_version: 3.3.3
331
+ signing_key:
332
332
  specification_version: 4
333
333
  summary: Vendored version of exiftool
334
334
  test_files: []