exiftool_vendored 13.42.0 → 13.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +44 -1
  3. data/bin/MANIFEST +2 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +48 -48
  7. data/bin/config_files/example.config +5 -2
  8. data/bin/exiftool +96 -84
  9. data/bin/lib/Image/ExifTool/Apple.pm +0 -1
  10. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -4
  11. data/bin/lib/Image/ExifTool/Canon.pm +24 -1
  12. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  13. data/bin/lib/Image/ExifTool/DarwinCore.pm +2 -2
  14. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  15. data/bin/lib/Image/ExifTool/Exif.pm +4 -2
  16. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  17. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  18. data/bin/lib/Image/ExifTool/FujiFilm.pm +2 -2
  19. data/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
  20. data/bin/lib/Image/ExifTool/Geolocation.pm +1 -1
  21. data/bin/lib/Image/ExifTool/Geotag.pm +3 -3
  22. data/bin/lib/Image/ExifTool/Google.pm +2 -2
  23. data/bin/lib/Image/ExifTool/ICC_Profile.pm +0 -1
  24. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  25. data/bin/lib/Image/ExifTool/JPEG.pm +5 -1
  26. data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  27. data/bin/lib/Image/ExifTool/Kandao.pm +399 -0
  28. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  29. data/bin/lib/Image/ExifTool/MRC.pm +4 -4
  30. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  31. data/bin/lib/Image/ExifTool/MacOS.pm +1 -2
  32. data/bin/lib/Image/ExifTool/Matroska.pm +56 -15
  33. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  34. data/bin/lib/Image/ExifTool/Nikon.pm +13 -15
  35. data/bin/lib/Image/ExifTool/NikonCustom.pm +10 -8
  36. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  37. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  38. data/bin/lib/Image/ExifTool/Panasonic.pm +30 -6
  39. data/bin/lib/Image/ExifTool/Pentax.pm +9 -1
  40. data/bin/lib/Image/ExifTool/PhaseOne.pm +17 -1
  41. data/bin/lib/Image/ExifTool/Plot.pm +2 -2
  42. data/bin/lib/Image/ExifTool/Protobuf.pm +42 -16
  43. data/bin/lib/Image/ExifTool/QuickTime.pm +48 -8
  44. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +2 -2
  45. data/bin/lib/Image/ExifTool/README +5 -5
  46. data/bin/lib/Image/ExifTool/RIFF.pm +5 -4
  47. data/bin/lib/Image/ExifTool/Reconyx.pm +2 -2
  48. data/bin/lib/Image/ExifTool/Samsung.pm +11 -1
  49. data/bin/lib/Image/ExifTool/Sony.pm +29 -3
  50. data/bin/lib/Image/ExifTool/TNEF.pm +2 -2
  51. data/bin/lib/Image/ExifTool/TagLookup.pm +7129 -7108
  52. data/bin/lib/Image/ExifTool/TagNames.pod +259 -111
  53. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Trailer.pm +1 -1
  55. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +10 -2
  56. data/bin/lib/Image/ExifTool/Writer.pl +9 -5
  57. data/bin/lib/Image/ExifTool/XMP.pm +4 -2
  58. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  59. data/bin/lib/Image/ExifTool.pm +33 -26
  60. data/bin/lib/Image/ExifTool.pod +88 -79
  61. data/bin/perl-Image-ExifTool.spec +47 -47
  62. data/lib/exiftool_vendored/version.rb +1 -1
  63. metadata +2 -1
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars $advFmtSelf $configFile @configFiles $noConfig);
31
31
 
32
- $VERSION = '13.42';
32
+ $VERSION = '13.45';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -200,7 +200,7 @@ $defaultLang = 'en'; # default language
200
200
  GZIP PLIST RAR 7Z BZ2 CZI TAR EXE EXR HDR CHM LNK WMF AVC DEX
201
201
  DPX RAW Font JUMBF RSRC M2TS MacOS PHP PCX DCX DWF DWG DXF WTV
202
202
  Torrent VCard LRI R3D AA PDB PFM2 MRC LIF JXL MOI ISO ALIAS PCAP
203
- JSON MP3 TNEF DICOM PCD NKA ICO TXT AAC);
203
+ JSON MP3 KVAR TNEF DICOM PCD NKA ICO TXT AAC);
204
204
 
205
205
  # file types that we can write (edit)
206
206
  my @writeTypes = qw(JPEG TIFF GIF CRW MRW ORF RAF RAW PNG MIE PSD XMP PPM EPS
@@ -387,6 +387,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
387
387
  KDC => ['TIFF', 'Kodak Digital Camera RAW'],
388
388
  KEY => ['ZIP', 'Apple Keynote presentation'],
389
389
  KTH => ['ZIP', 'Apple Keynote Theme'],
390
+ KVAR => ['KVAR', 'Kandao Video Asset Resource'], #PH (NC)
390
391
  LA => ['RIFF', 'Lossless Audio'],
391
392
  LFP => ['LFP', 'Lytro Light Field Picture'],
392
393
  LFR => 'LFP', # (Light Field RAW)
@@ -881,6 +882,7 @@ my %moduleName = (
881
882
  JPEG => '',
882
883
  JUMBF=> 'Jpeg2000',
883
884
  JXL => 'Jpeg2000',
885
+ KVAR => 'Kandao',
884
886
  LFP => 'Lytro',
885
887
  LRI => 0,
886
888
  MOV => 'QuickTime',
@@ -976,6 +978,7 @@ $testLen = 1024; # number of bytes to read when testing for magic number
976
978
  JSON => '(\xef\xbb\xbf)?\s*(\[\s*)?\{\s*"[^"]*"\s*:',
977
979
  JUMBF=> '.{4}jumb\0.{3}jumd',
978
980
  JXL => '(\xff\x0a|\0\0\0\x0cJXL \x0d\x0a......ftypjxl )',
981
+ KVAR => '.{2}\0\0[A-Z].{31}(CHAR|BOOL|[US](8|16|32|64)|FLOAT|DOUBLE)\0',
979
982
  LFP => '\x89LFP\x0d\x0a\x1a\x0a',
980
983
  LIF => '\x70\0{3}.{4}\x2a.{4}<\0',
981
984
  LNK => '(.{4}\x01\x14\x02\0{5}\xc0\0{6}\x46|\[[InternetShortcut\][\x0d\x0a])',
@@ -1190,6 +1193,7 @@ my @availableOptions = (
1190
1193
  [ 'Struct', undef, 'return structures as hash references' ],
1191
1194
  [ 'StructFormat', undef, 'format for structure serialization when reading/writing' ],
1192
1195
  [ 'SystemTags', undef, 'extract additional File System tags' ],
1196
+ [ 'SystemTimeRes', 0, 'number of sub-second digits in system and epoch times' ],
1193
1197
  [ 'TextOut', \*STDOUT, 'file for Verbose/HtmlDump output' ],
1194
1198
  [ 'TimeZone', undef, 'local time zone' ],
1195
1199
  [ 'UndefTags', undef, 'leave undef tags in -if conditions when -m or -f are used' ],
@@ -2621,7 +2625,7 @@ sub Options($$;@)
2621
2625
  # add to existing plot settings
2622
2626
  $newVal = "$oldVal,$newVal" if defined $oldVal and defined $newVal;
2623
2627
  $$options{$param} = $newVal;
2624
- } elsif ($param eq 'KeepUTCTime') {
2628
+ } elsif ($param eq 'KeepUTCTime' or $param eq 'SystemTimeRes') {
2625
2629
  $$options{$param} = $static_vars{$param} = $newVal;
2626
2630
  } elsif (lc $param eq 'geodir') {
2627
2631
  $Image::ExifTool::Geolocation::geoDir = $newVal;
@@ -4283,7 +4287,11 @@ sub Init($)
4283
4287
  my $self = shift;
4284
4288
  # delete all DataMember variables (lower-case names)
4285
4289
  delete $$self{$_} foreach grep /[a-z]/, keys %$self;
4286
- %static_vars = ( KeepUTCTime => $$self{OPTIONS}{KeepUTCTime} ); # reset static variables
4290
+ # reset static variables
4291
+ %static_vars = (
4292
+ KeepUTCTime => $$self{OPTIONS}{KeepUTCTime},
4293
+ SystemTimeRes => $$self{OPTIONS}{SystemTimeRes},
4294
+ );
4287
4295
  delete $$self{FOUND_TAGS}; # list of found tags
4288
4296
  delete $$self{EXIF_DATA}; # the EXIF data block
4289
4297
  delete $$self{EXIF_POS}; # EXIF position in file
@@ -6710,34 +6718,33 @@ sub TimeZoneString($;$)
6710
6718
 
6711
6719
  #------------------------------------------------------------------------------
6712
6720
  # Convert Unix time to EXIF date/time string
6713
- # Inputs: 0) Unix time value, 1) non-zero to convert to local time,
6714
- # 2) number of digits after the decimal for fractional seconds
6721
+ # Inputs: 0) Unix time value, 1) non-zero to convert to local time, 2) number of
6722
+ # digits after the decimal for fractional seconds, negative to trim
6723
+ # trailing zeros, or undef to use SystemTimeRes
6715
6724
  # Returns: EXIF date/time string (with timezone for local times)
6716
6725
  sub ConvertUnixTime($;$$)
6717
6726
  {
6718
6727
  my ($time, $toLocal, $dec) = @_;
6719
6728
  return '0000:00:00 00:00:00' if $time == 0;
6720
- my (@tm, $tz);
6721
- if ($dec) {
6722
- my $frac = $time - int($time);
6723
- $time = int($time);
6724
- $frac < 0 and $frac += 1, $time -= 1;
6725
- $dec = sprintf('%.*f', $dec, $frac);
6726
- # remove number before decimal and increment integer time if it was rounded up
6727
- $dec =~ s/^(\d)// and $1 eq '1' and $time += 1;
6728
- } else {
6729
- $time = int($time + 1e-6) if $time != int($time); # avoid round-off errors
6730
- $dec = '';
6731
- }
6729
+ my (@tm, $tz, $trim);
6730
+ $dec = $static_vars{SystemTimeRes} || 0 unless defined $dec;
6731
+ $dec < 0 and $dec = -$dec, $trim = 1;
6732
+ my $itime = int($time);
6733
+ my $frac = $time - $itime;
6734
+ $frac < 0 and $frac += 1, $itime -= 1;
6735
+ $dec = sprintf('%.*f', $dec, $frac);
6736
+ # remove number before decimal and increment integer time if necessary
6737
+ $dec =~ s/^(\d)// and $1 eq '1' and $itime += 1;
6738
+ $dec =~ s/\.?0+$// if $trim; # trim trailing zeros if specified
6732
6739
  if (not $toLocal) {
6733
- @tm = gmtime($time);
6740
+ @tm = gmtime($itime);
6734
6741
  $tz = '';
6735
6742
  } elsif ($static_vars{KeepUTCTime}) {
6736
- @tm = gmtime($time);
6743
+ @tm = gmtime($itime);
6737
6744
  $tz = 'Z';
6738
6745
  } else {
6739
- @tm = localtime($time);
6740
- $tz = TimeZoneString(\@tm, $time);
6746
+ @tm = localtime($itime);
6747
+ $tz = TimeZoneString(\@tm, $itime);
6741
6748
  }
6742
6749
  my $str = sprintf("%4d:%.2d:%.2d %.2d:%.2d:%.2d$dec%s",
6743
6750
  $tm[5]+1900, $tm[4]+1, $tm[3], $tm[2], $tm[1], $tm[0], $tz);
@@ -8124,11 +8131,11 @@ sub ProcessJPEG($$;$)
8124
8131
  $self->ProcessDirectory(\%dirInfo, $tagTablePtr);
8125
8132
  }
8126
8133
  } elsif ($marker == 0xe7) { # APP7 (InfiRay, Pentax, Huawei, Qualcomm)
8127
- if ($$segDataPt =~ /^PENTAX \0(II|MM)/) {
8128
- # found in K-3 images (is this multi-segment??)
8129
- SetByteOrder($1);
8134
+ if ($$segDataPt =~ /^(PENTAX |RICOH)\0(II|MM)/) {
8135
+ # found in K-3 and Ricoh GR_IV images (is this multi-segment??)
8136
+ SetByteOrder($2);
8130
8137
  undef $dumpType; # (dump this ourself)
8131
- my $hdrLen = 10;
8138
+ my $hdrLen = length($1) + 3;
8132
8139
  my $tagTablePtr = GetTagTable('Image::ExifTool::Pentax::Main');
8133
8140
  DirStart(\%dirInfo, $hdrLen, 0);
8134
8141
  $dirInfo{DirName} = 'Pentax APP7';
@@ -65,52 +65,52 @@ supported by ExifTool (r = read, w = write, c = create):
65
65
 
66
66
  File Types
67
67
  ------------+-------------+-------------+-------------+------------
68
- 360 r/w | DR4 r/w/c | JP2 r/w | ODT r | RWL r/w
69
- 3FR r | DSF r | JPEG r/w | OFR r | RWZ r
70
- 3G2 r/w | DSS r | JSON r | OGG r | RM r
71
- 3GP r/w | DV r | JXL r/w | OGV r | SEQ r
72
- 7Z r | DVB r/w | K25 r | ONP r | SKETCH r
73
- A r | DVR-MS r | KDC r | OPUS r | SO r
74
- AA r | DYLIB r | KEY r | ORF r/w | SR2 r/w
75
- AAC r | EIP r | LA r | ORI r/w | SRF r
76
- AAE r | EPS r/w | LFP r | OTF r | SRW r/w
77
- AAX r/w | EPUB r | LIF r | PAC r | SVG r
78
- ACR r | ERF r/w | LNK r | PAGES r | SWF r
79
- AFM r | EXE r | LRV r/w | PBM r/w | THM r/w
80
- AI r/w | EXIF r/w/c | M2TS r | PCAP r | TIFF r/w
81
- AIFF r | EXR r | M4A/V r/w | PCAPNG r | TNEF r
82
- APE r | EXV r/w/c | MACOS r | PCD r | TORRENT r
83
- ARQ r/w | F4A/V r/w | MAX r | PCX r | TTC r
84
- ARW r/w | FFF r/w | MEF r/w | PDB r | TTF r
85
- ASF r | FITS r | MIE r/w/c | PDF r/w | TXT r
86
- AVI r | FLA r | MIFF r | PEF r/w | URL r
87
- AVIF r/w | FLAC r | MKA r | PFA r | VCF r
88
- AZW r | FLIF r/w | MKS r | PFB r | VNT r
89
- BMP r | FLV r | MKV r | PFM r | VRD r/w/c
90
- BPG r | FPF r | MNG r/w | PGF r | VSD r
91
- BTF r | FPX r | MOBI r | PGM r/w | VSDX r
92
- C2PA r | GIF r/w | MODD r | PLIST r | WAV r
93
- CHM r | GLV r/w | MOI r | PICT r | WDP r/w
94
- COS r | GPR r/w | MOS r/w | PMP r | WEBP r/w
95
- CR2 r/w | GZ r | MOV r/w | PNG r/w | WEBM r
96
- CR3 r/w | HDP r/w | MP3 r | PPM r/w | WMA r
97
- CRM r/w | HDR r | MP4 r/w | PPT r | WMV r
98
- CRW r/w | HEIC r/w | MPC r | PPTX r | WOFF r
99
- CS1 r/w | HEIF r/w | MPG r | PS r/w | WOFF2 r
100
- CSV r | HTML r | MPO r/w | PSB r/w | WPG r
101
- CUR r | ICC r/w/c | MQV r/w | PSD r/w | WTV r
102
- CZI r | ICO r | MRC r | PSP r | WV r
103
- DCM r | ICS r | MRW r/w | QTIF r/w | X3F r/w
104
- DCP r/w | IDML r | MXF r | R3D r | XCF r
105
- DCR r | IIQ r/w | NEF r/w | RA r | XISF r
106
- DFONT r | IND r/w | NKA r | RAF r/w | XLS r
107
- DIVX r | INSP r/w | NKSC r/w | RAM r | XLSX r
108
- DJVU r | INSV r | NRW r/w | RAR r | XMP r/w/c
109
- DLL r | INX r | NUMBERS r | RAW r/w | ZIP r
110
- DNG r/w | ISO r | NXD r | RIFF r |
111
- DOC r | ITC r | O r | RSRC r |
112
- DOCX r | J2C r | ODP r | RTF r |
113
- DPX r | JNG r/w | ODS r | RW2 r/w |
68
+ 360 r/w | DR4 r/w/c | JP2 r/w | ODS r | RW2 r/w
69
+ 3FR r | DSF r | JPEG r/w | ODT r | RWL r/w
70
+ 3G2 r/w | DSS r | JSON r | OFR r | RWZ r
71
+ 3GP r/w | DV r | JXL r/w | OGG r | RM r
72
+ 7Z r | DVB r/w | K25 r | OGV r | SEQ r
73
+ A r | DVR-MS r | KDC r | ONP r | SKETCH r
74
+ AA r | DYLIB r | KEY r | OPUS r | SO r
75
+ AAC r | EIP r | KVAR r | ORF r/w | SR2 r/w
76
+ AAE r | EPS r/w | LA r | ORI r/w | SRF r
77
+ AAX r/w | EPUB r | LFP r | OTF r | SRW r/w
78
+ ACR r | ERF r/w | LIF r | PAC r | SVG r
79
+ AFM r | EXE r | LNK r | PAGES r | SWF r
80
+ AI r/w | EXIF r/w/c | LRV r/w | PBM r/w | THM r/w
81
+ AIFF r | EXR r | M2TS r | PCAP r | TIFF r/w
82
+ APE r | EXV r/w/c | M4A/V r/w | PCAPNG r | TNEF r
83
+ ARQ r/w | F4A/V r/w | MACOS r | PCD r | TORRENT r
84
+ ARW r/w | FFF r/w | MAX r | PCX r | TTC r
85
+ ASF r | FITS r | MEF r/w | PDB r | TTF r
86
+ AVI r | FLA r | MIE r/w/c | PDF r/w | TXT r
87
+ AVIF r/w | FLAC r | MIFF r | PEF r/w | URL r
88
+ AZW r | FLIF r/w | MKA r | PFA r | VCF r
89
+ BMP r | FLV r | MKS r | PFB r | VNT r
90
+ BPG r | FPF r | MKV r | PFM r | VRD r/w/c
91
+ BTF r | FPX r | MNG r/w | PGF r | VSD r
92
+ C2PA r | GIF r/w | MOBI r | PGM r/w | VSDX r
93
+ CHM r | GLV r/w | MODD r | PLIST r | WAV r
94
+ COS r | GPR r/w | MOI r | PICT r | WDP r/w
95
+ CR2 r/w | GZ r | MOS r/w | PMP r | WEBP r/w
96
+ CR3 r/w | HDP r/w | MOV r/w | PNG r/w | WEBM r
97
+ CRM r/w | HDR r | MP3 r | PPM r/w | WMA r
98
+ CRW r/w | HEIC r/w | MP4 r/w | PPT r | WMV r
99
+ CS1 r/w | HEIF r/w | MPC r | PPTX r | WOFF r
100
+ CSV r | HTML r | MPG r | PS r/w | WOFF2 r
101
+ CUR r | ICC r/w/c | MPO r/w | PSB r/w | WPG r
102
+ CZI r | ICO r | MQV r/w | PSD r/w | WTV r
103
+ DCM r | ICS r | MRC r | PSP r | WV r
104
+ DCP r/w | IDML r | MRW r/w | QTIF r/w | X3F r/w
105
+ DCR r | IIQ r/w | MXF r | R3D r | XCF r
106
+ DFONT r | IND r/w | NEF r/w | RA r | XISF r
107
+ DIVX r | INSP r/w | NKA r | RAF r/w | XLS r
108
+ DJVU r | INSV r | NKSC r/w | RAM r | XLSX r
109
+ DLL r | INX r | NRW r/w | RAR r | XMP r/w/c
110
+ DNG r/w | ISO r | NUMBERS r | RAW r/w | ZIP r
111
+ DOC r | ITC r | NXD r | RIFF r |
112
+ DOCX r | J2C r | O r | RSRC r |
113
+ DPX r | JNG r/w | ODP r | RTF r |
114
114
 
115
115
  Meta Information
116
116
  ----------------------+----------------------+---------------------
@@ -141,7 +141,7 @@ By default ExifTool looks for a configuration file named ".ExifTool_config"
141
141
  first in your home directory, then in the directory of the application
142
142
  script, but a different directory may be specified by setting the
143
143
  EXIFTOOL_HOME environment variable, or a different file may be specified by
144
- setting the ExifTool C<configFile> variable before using Image::ExifTool.
144
+ setting the ExifTool C<configFile> variable before using Image::ExifTool.
145
145
  For example:
146
146
 
147
147
  BEGIN { $Image::ExifTool::configFile = '/Users/phil/myconfig.cfg' }
@@ -251,7 +251,7 @@ Tag names are case-insensitive and may be prefixed by optional group names
251
251
  separated by colons. A group name may begin with a family number (eg.
252
252
  '1IPTC:Keywords'), to restrict matches to a specific family. In the tag
253
253
  name, a '?' matches any single character and a '*' matches zero or more
254
- characters. Thus 'GROUP:*' represents all tags in a specific group.
254
+ characters. Thus 'GROUP:*' represents all tags in a specific group.
255
255
  Wildcards may not be used in group names, with the exception that a group
256
256
  name of '*' may be used to extract all available instances of a tag
257
257
  regardless of the L</Duplicates> setting (eg. '*:WhiteBalance'). Multiple
@@ -261,7 +261,7 @@ trailing '#' causes the ValueConv value to be returned for this tag.
261
261
 
262
262
  Note that keys in the returned information hash and elements of the returned
263
263
  tag list are not necessarily the same as these tag names because group names
264
- are removed, the case may be changed, and an instance number may be added.
264
+ are removed, the case may be changed, and an instance number may be added.
265
265
  For this reason it is best to use either the keys of the returned hash or
266
266
  the elements of the returned tag list when accessing the tag values.
267
267
 
@@ -298,7 +298,7 @@ excluded. On return, this list is updated to contain an ordered list of tag
298
298
  keys for the returned information.
299
299
 
300
300
  There will be 1:1 correspondence between the requested tags and the returned
301
- tag keys only if the L</Duplicates> option is 0 and L</Sort> is 'Input'.
301
+ tag keys only if the L</Duplicates> option is 0 and L</Sort> is 'Input'.
302
302
  (With L</Duplicates> enabled, there may be more entries in the returned list
303
303
  of tag keys, and with other L</Sort> settings the entries may not be in the
304
304
  same order as requested.) If a requested tag doesn't exist, a tag key is
@@ -311,7 +311,7 @@ resulting in increasingly slower performance.
311
311
  =item HASH ref
312
312
 
313
313
  Reference to a hash containing the options settings valid for this call
314
- only. See L</Options> documentation below for a list of available options.
314
+ only. See L</Options> documentation below for a list of available options.
315
315
  Options specified as arguments to L</ImageInfo> take precedence over
316
316
  L</Options> settings.
317
317
 
@@ -457,7 +457,7 @@ Default is undef.
457
457
  =item BlockExtract
458
458
 
459
459
  Flag to extract some directories (mentioned in the
460
- L<ExifTool tag name documentation|Image::ExifTool::TagNames>) as a block.
460
+ L<ExifTool tag name documentation|Image::ExifTool::TagNames>) as a block.
461
461
  Setting this to a value of 2 also prevents parsing the block to extract tags
462
462
  contained within.
463
463
 
@@ -521,7 +521,7 @@ set to undef to pass through EXIF "ASCII" values without recoding. Set to
521
521
 
522
522
  =item CharsetFileName
523
523
 
524
- External character set used for file names passed to ExifTool functions.
524
+ External character set used for file names passed to ExifTool functions.
525
525
  Default is undef but "UTF8" is assumed in Windows if the file name contains
526
526
  special characters and is valid UTF8. May also be set to an empty string to
527
527
  avoid "encoding must be specified" warnings on Windows.
@@ -772,7 +772,7 @@ ignored. Default is undef.
772
772
 
773
773
  Maximum interpolation time in seconds for geotagging. Geotagging is treated
774
774
  as an extrapolation if the Geotime value lies between two fixes in the same
775
- track which are separated by a number of seconds greater than this.
775
+ track which are separated by a number of seconds greater than this.
776
776
  Otherwise, the coordinates are calculated as a linear interpolation between
777
777
  the nearest fixes on either side of the Geotime value. Set to 0 to disable
778
778
  interpolation and use the coordinates of the nearest fix instead (provided
@@ -897,13 +897,13 @@ to undef to clear the previous IgnoreTags list. Default is undef.
897
897
 
898
898
  =item ImageHashType
899
899
 
900
- Sets type of hash algorithm used for the ImageDataHash tag calculation.
900
+ Sets type of hash algorithm used for the ImageDataHash tag calculation.
901
901
  Supported options are 'MD5', 'SHA256', and 'SHA512'. Default is 'MD5'.
902
902
 
903
903
  =item KeepUTCTime
904
904
 
905
905
  Flag to keep UTC times in Zulu time zone instead of converting to local
906
- time. Affects only times which are stored as seconds since the UTC epoch.
906
+ time. Affects only times which are stored as seconds since the UTC epoch.
907
907
  Default is undef.
908
908
 
909
909
  =item Lang
@@ -985,7 +985,7 @@ Flag to bypass writing of mandatory EXIF tags. Default is undef.
985
985
 
986
986
  =item NoMultiExif
987
987
 
988
- Raise error when attempting to write multi-segment EXIF in a JPEG image.
988
+ Raise error when attempting to write multi-segment EXIF in a JPEG image.
989
989
  Default is undef.
990
990
 
991
991
  =item NoPDFList
@@ -1061,7 +1061,7 @@ missing. Default is 1.
1061
1061
 
1062
1062
  =item QuickTimePad
1063
1063
 
1064
- Flag to preserve the padding of some QuickTime atoms when writing.
1064
+ Flag to preserve the padding of some QuickTime atoms when writing.
1065
1065
  QuickTime-based Canon CR3 files pad the values of container atoms with null
1066
1066
  bytes. This padding is removed by default when the file is rewritten, but
1067
1067
  setting this option to 1 adds padding to preserve the original atom size if
@@ -1093,7 +1093,7 @@ List of additional tag and/or group names to request in subsequent calls to
1093
1093
  L</ExtractInfo>. This option is useful only for tags/groups which aren't
1094
1094
  extracted unless specifically requested, or if L</IgnoreTags> is set to
1095
1095
  "All". Value may be a list reference, a delimited string of names (any
1096
- delimiter is allowed), or undef to clear the current RequestTags list.
1096
+ delimiter is allowed), or undef to clear the current RequestTags list.
1097
1097
  Groups are requested by adding a colon after the name (eg. "MacOS:"). Names
1098
1098
  are converted to lower case as they are added to the list. Default is
1099
1099
  undef.
@@ -1193,6 +1193,15 @@ Flag to extract the following additional File System tags: FileAttributes,
1193
1193
  FileDeviceNumber, FileInodeNumber, FileHardLinks, FileUserID, FileGroupID,
1194
1194
  FileDeviceID, FileBlockSize and FileBlockCount.
1195
1195
 
1196
+ =item SystemTimeRes
1197
+
1198
+ Number of digits in sub-seconds for system times and some other epoch times.
1199
+ A value of 0 rounds to the nearest second. Negative values cause trailing
1200
+ zeros to be removed. eg) A value of C<-6> returns system times to 6 decimal
1201
+ places with trailing zeros removed. Default is 0, which rounds to the
1202
+ nearest second. Note that round-off errors may appear starting at the 6th
1203
+ decimal place for some time formats.
1204
+
1196
1205
  =item TextOut
1197
1206
 
1198
1207
  Output file reference for Verbose and HtmlDump options. Default is
@@ -1738,7 +1747,7 @@ list-type tags this deletes a specified item from the list. For non-list
1738
1747
  tags this may be used to conditionally replace a tag by providing a new
1739
1748
  value in a separate call to L<SetNewValue> (see examples above). For
1740
1749
  structured tags, the entire structure is deleted/replaced only if all of the
1741
- specified fields match the existing structure. Option values are 0 or 1.
1750
+ specified fields match the existing structure. Option values are 0 or 1.
1742
1751
  Default is 0.
1743
1752
 
1744
1753
  =item EditGroup
@@ -2167,7 +2176,7 @@ file or creating the link.
2167
2176
 
2168
2177
  =item Notes:
2169
2178
 
2170
- Will not overwrite existing files. New directories are created as necessary.
2179
+ Will not overwrite existing files. New directories are created as necessary.
2171
2180
  If the file is successfully renamed, the new file name may be accessed via
2172
2181
  C<$$exifTool{NewName}>.
2173
2182
 
@@ -2335,7 +2344,7 @@ information refers.
2335
2344
 
2336
2345
  Family 3 gives the document number for tags extracted from embedded
2337
2346
  documents, or 'Main' for tags from the main document. (See the
2338
- L</ExtractEmbedded> option for extracting tags from embedded documents.)
2347
+ L</ExtractEmbedded> option for extracting tags from embedded documents.)
2339
2348
  Nested sub-documents (if they exist) are indicated by numbers separated with
2340
2349
  dashes in the group name, to an arbitrary depth. (eg. 'Doc2-3-1' is the 1st
2341
2350
  sub-sub-document of the 3rd sub-document of the 2nd embedded document of the
@@ -2566,20 +2575,20 @@ APP2, APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon,
2566
2575
  CanonVRD, Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File,
2567
2576
  FITS, FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP,
2568
2577
  GM, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,
2569
- Jpeg2000, JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta,
2570
- MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm,
2571
- PanasonicRaw, Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST,
2572
- PNG, PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor,
2573
- Real, Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent,
2574
- Trailer, VCard, Vorbis, WTV, XML, XMP, ZIP
2578
+ Jpeg2000, JSON, JUMBF, Kandao, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska,
2579
+ Meta, MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus,
2580
+ Palm, PanasonicRaw, Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT,
2581
+ PLIST, PNG, PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF,
2582
+ Rawzor, Real, Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora,
2583
+ Torrent, Trailer, VCard, Vorbis, WTV, XML, XMP, ZIP
2575
2584
 
2576
2585
  =item Family 1 (Specific Location):
2577
2586
 
2578
- AAC, AC3, Adobe, AdobeCM, AdobeDNG, AFCP, AIFF, APE, APP10, APP2, Apple,
2579
- ASF, Audible, AudioItemList, AudioKeys, AudioUserData, AVI1, CameraIFD,
2580
- Canon, CanonCustom, CanonDR4, CanonRaw, CanonVRD, Casio, CBOR, Chapter#,
2581
- CIFF, Composite, DICOM, DJI, DjVu, DjVu-Meta, DNG, Ducky, DV, EPPIM, EXE,
2582
- EXIF, ExifIFD, ExifTool, File, FITS, FLAC, Flash, FlashPix, FLIR, Font,
2587
+ AAC, AC3, Adobe, AdobeCM, AdobeDNG, AFCP, AIFF, APE, APP2, Apple, AROT, ASF,
2588
+ Audible, AudioItemList, AudioKeys, AudioUserData, AVI1, CameraIFD, Canon,
2589
+ CanonCustom, CanonDR4, CanonRaw, CanonVRD, Casio, CBOR, Chapter#, CIFF,
2590
+ Composite, DICOM, DJI, DjVu, DjVu-Meta, DNG, Ducky, DV, EPPIM, EXE, EXIF,
2591
+ ExifIFD, ExifTool, File, FITS, FLAC, Flash, FlashPix, FLIR, Font,
2583
2592
  FotoStation, FujiFilm, FujiIFD, Garmin, GE, GeoTiff, GIF, GIMP,
2584
2593
  GlobParamIFD, GM, Google, GoPro, GPS, GraphConv, GSpherical, H264, HP, HTC,
2585
2594
  HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv,
@@ -2587,10 +2596,10 @@ ICC-chrm, ICC-cicp, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view,
2587
2596
  ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4,
2588
2597
  IFD0, IFD1, InfiRay, Insta360, InteropIFD, IPTC, IPTC#, ISO, ITC, ItemList,
2589
2598
  iTunes, JFIF, JFXX, JPEG, JPEG-HDR, Jpeg2000, JPS, JSON, JUMBF, JVC,
2590
- KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD,
2591
- KyoceraRaw, Leaf, LeafSubIFD, Leica, LNK, Lyrics3, Lytro, M-RAW, M2TS, MAC,
2592
- MacOS, MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD,
2593
- Microsoft, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender,
2599
+ KDC_IFD, Keys, KFIX, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD,
2600
+ KSTB, KVAR, KyoceraRaw, Leaf, LeafSubIFD, Leica, LNK, Lyrics3, Lytro, M-RAW,
2601
+ M2TS, MAC, MacOS, MakerNotes, MakerUnknown, Matroska, MediaJukebox, Meta,
2602
+ MetaIFD, Microsoft, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender,
2594
2603
  MIE-Flash, MIE-Geo, MIE-GPS, MIE-Image, MIE-Lens, MIE-Main, MIE-MakerNotes,
2595
2604
  MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-Unknown, MIE-UTM,
2596
2605
  MIE-Video, MIFF, Minolta, MinoltaRaw, MISB, MNG, MOBI, MOI, Motorola, MPC,
@@ -2645,7 +2654,7 @@ rational64s, float, double, ifd, unicode, complex, int64u, int64s, ifd64
2645
2654
  =item Family 7 (Tag ID):
2646
2655
 
2647
2656
  ID-xxx (Where xxx is the tag ID. Numerical ID's are returned in hex with a
2648
- leading "0x" if the HexTagIDs option is set, or decimal otherwise.
2657
+ leading "0x" if the HexTagIDs option is set, or decimal otherwise.
2649
2658
  Characters in non-numerical ID's which are not valid in a group name are
2650
2659
  returned as 2 hex digits.)
2651
2660
 
@@ -2921,7 +2930,7 @@ of 'UTF8' (or 'ESC % G') then string values are assumed to be stored as
2921
2930
  UTF-8, otherwise Windows Latin1 (cp1252, 'Latin') coding is assumed by
2922
2931
  default, but this can be changed with the L</CharsetIPTC> option. When
2923
2932
  reading, these strings are converted to the character set specified by the
2924
- L</Charset> option. When writing, the inverse conversions are performed.
2933
+ L</Charset> option. When writing, the inverse conversions are performed.
2925
2934
  No conversion is done if the internal (IPTC) and external (ExifTool)
2926
2935
  character sets are the same. Note that ISO 2022 character set shifting is
2927
2936
  not supported. Instead, a warning is issued and the string is not converted
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 13.42
3
+ Version: 13.45
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -22,52 +22,52 @@ supported by ExifTool (r = read, w = write, c = create):
22
22
 
23
23
  File Types
24
24
  ------------+-------------+-------------+-------------+------------
25
- 360 r/w | DR4 r/w/c | JP2 r/w | ODT r | RWL r/w
26
- 3FR r | DSF r | JPEG r/w | OFR r | RWZ r
27
- 3G2 r/w | DSS r | JSON r | OGG r | RM r
28
- 3GP r/w | DV r | JXL r/w | OGV r | SEQ r
29
- 7Z r | DVB r/w | K25 r | ONP r | SKETCH r
30
- A r | DVR-MS r | KDC r | OPUS r | SO r
31
- AA r | DYLIB r | KEY r | ORF r/w | SR2 r/w
32
- AAC r | EIP r | LA r | ORI r/w | SRF r
33
- AAE r | EPS r/w | LFP r | OTF r | SRW r/w
34
- AAX r/w | EPUB r | LIF r | PAC r | SVG r
35
- ACR r | ERF r/w | LNK r | PAGES r | SWF r
36
- AFM r | EXE r | LRV r/w | PBM r/w | THM r/w
37
- AI r/w | EXIF r/w/c | M2TS r | PCAP r | TIFF r/w
38
- AIFF r | EXR r | M4A/V r/w | PCAPNG r | TNEF r
39
- APE r | EXV r/w/c | MACOS r | PCD r | TORRENT r
40
- ARQ r/w | F4A/V r/w | MAX r | PCX r | TTC r
41
- ARW r/w | FFF r/w | MEF r/w | PDB r | TTF r
42
- ASF r | FITS r | MIE r/w/c | PDF r/w | TXT r
43
- AVI r | FLA r | MIFF r | PEF r/w | URL r
44
- AVIF r/w | FLAC r | MKA r | PFA r | VCF r
45
- AZW r | FLIF r/w | MKS r | PFB r | VNT r
46
- BMP r | FLV r | MKV r | PFM r | VRD r/w/c
47
- BPG r | FPF r | MNG r/w | PGF r | VSD r
48
- BTF r | FPX r | MOBI r | PGM r/w | VSDX r
49
- C2PA r | GIF r/w | MODD r | PLIST r | WAV r
50
- CHM r | GLV r/w | MOI r | PICT r | WDP r/w
51
- COS r | GPR r/w | MOS r/w | PMP r | WEBP r/w
52
- CR2 r/w | GZ r | MOV r/w | PNG r/w | WEBM r
53
- CR3 r/w | HDP r/w | MP3 r | PPM r/w | WMA r
54
- CRM r/w | HDR r | MP4 r/w | PPT r | WMV r
55
- CRW r/w | HEIC r/w | MPC r | PPTX r | WOFF r
56
- CS1 r/w | HEIF r/w | MPG r | PS r/w | WOFF2 r
57
- CSV r | HTML r | MPO r/w | PSB r/w | WPG r
58
- CUR r | ICC r/w/c | MQV r/w | PSD r/w | WTV r
59
- CZI r | ICO r | MRC r | PSP r | WV r
60
- DCM r | ICS r | MRW r/w | QTIF r/w | X3F r/w
61
- DCP r/w | IDML r | MXF r | R3D r | XCF r
62
- DCR r | IIQ r/w | NEF r/w | RA r | XISF r
63
- DFONT r | IND r/w | NKA r | RAF r/w | XLS r
64
- DIVX r | INSP r/w | NKSC r/w | RAM r | XLSX r
65
- DJVU r | INSV r | NRW r/w | RAR r | XMP r/w/c
66
- DLL r | INX r | NUMBERS r | RAW r/w | ZIP r
67
- DNG r/w | ISO r | NXD r | RIFF r |
68
- DOC r | ITC r | O r | RSRC r |
69
- DOCX r | J2C r | ODP r | RTF r |
70
- DPX r | JNG r/w | ODS r | RW2 r/w |
25
+ 360 r/w | DR4 r/w/c | JP2 r/w | ODS r | RW2 r/w
26
+ 3FR r | DSF r | JPEG r/w | ODT r | RWL r/w
27
+ 3G2 r/w | DSS r | JSON r | OFR r | RWZ r
28
+ 3GP r/w | DV r | JXL r/w | OGG r | RM r
29
+ 7Z r | DVB r/w | K25 r | OGV r | SEQ r
30
+ A r | DVR-MS r | KDC r | ONP r | SKETCH r
31
+ AA r | DYLIB r | KEY r | OPUS r | SO r
32
+ AAC r | EIP r | KVAR r | ORF r/w | SR2 r/w
33
+ AAE r | EPS r/w | LA r | ORI r/w | SRF r
34
+ AAX r/w | EPUB r | LFP r | OTF r | SRW r/w
35
+ ACR r | ERF r/w | LIF r | PAC r | SVG r
36
+ AFM r | EXE r | LNK r | PAGES r | SWF r
37
+ AI r/w | EXIF r/w/c | LRV r/w | PBM r/w | THM r/w
38
+ AIFF r | EXR r | M2TS r | PCAP r | TIFF r/w
39
+ APE r | EXV r/w/c | M4A/V r/w | PCAPNG r | TNEF r
40
+ ARQ r/w | F4A/V r/w | MACOS r | PCD r | TORRENT r
41
+ ARW r/w | FFF r/w | MAX r | PCX r | TTC r
42
+ ASF r | FITS r | MEF r/w | PDB r | TTF r
43
+ AVI r | FLA r | MIE r/w/c | PDF r/w | TXT r
44
+ AVIF r/w | FLAC r | MIFF r | PEF r/w | URL r
45
+ AZW r | FLIF r/w | MKA r | PFA r | VCF r
46
+ BMP r | FLV r | MKS r | PFB r | VNT r
47
+ BPG r | FPF r | MKV r | PFM r | VRD r/w/c
48
+ BTF r | FPX r | MNG r/w | PGF r | VSD r
49
+ C2PA r | GIF r/w | MOBI r | PGM r/w | VSDX r
50
+ CHM r | GLV r/w | MODD r | PLIST r | WAV r
51
+ COS r | GPR r/w | MOI r | PICT r | WDP r/w
52
+ CR2 r/w | GZ r | MOS r/w | PMP r | WEBP r/w
53
+ CR3 r/w | HDP r/w | MOV r/w | PNG r/w | WEBM r
54
+ CRM r/w | HDR r | MP3 r | PPM r/w | WMA r
55
+ CRW r/w | HEIC r/w | MP4 r/w | PPT r | WMV r
56
+ CS1 r/w | HEIF r/w | MPC r | PPTX r | WOFF r
57
+ CSV r | HTML r | MPG r | PS r/w | WOFF2 r
58
+ CUR r | ICC r/w/c | MPO r/w | PSB r/w | WPG r
59
+ CZI r | ICO r | MQV r/w | PSD r/w | WTV r
60
+ DCM r | ICS r | MRC r | PSP r | WV r
61
+ DCP r/w | IDML r | MRW r/w | QTIF r/w | X3F r/w
62
+ DCR r | IIQ r/w | MXF r | R3D r | XCF r
63
+ DFONT r | IND r/w | NEF r/w | RA r | XISF r
64
+ DIVX r | INSP r/w | NKA r | RAF r/w | XLS r
65
+ DJVU r | INSV r | NKSC r/w | RAM r | XLSX r
66
+ DLL r | INX r | NRW r/w | RAR r | XMP r/w/c
67
+ DNG r/w | ISO r | NUMBERS r | RAW r/w | ZIP r
68
+ DOC r | ITC r | NXD r | RIFF r |
69
+ DOCX r | J2C r | O r | RSRC r |
70
+ DPX r | JNG r/w | ODP r | RTF r |
71
71
 
72
72
  Meta Information
73
73
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('13.42.0')
4
+ VERSION = Gem::Version.new('13.45.0')
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exiftool_vendored
3
3
  version: !ruby/object:Gem::Version
4
- version: 13.42.0
4
+ version: 13.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -184,6 +184,7 @@ files:
184
184
  - bin/lib/Image/ExifTool/JSON.pm
185
185
  - bin/lib/Image/ExifTool/JVC.pm
186
186
  - bin/lib/Image/ExifTool/Jpeg2000.pm
187
+ - bin/lib/Image/ExifTool/Kandao.pm
187
188
  - bin/lib/Image/ExifTool/Kodak.pm
188
189
  - bin/lib/Image/ExifTool/KyoceraRaw.pm
189
190
  - bin/lib/Image/ExifTool/LIF.pm