exiftool_vendored 12.09.0 → 12.10.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1095c3210c7799b406dbff7b262f1e48bba57874a51d7ada486b7ab12c4f946c
4
- data.tar.gz: 6cd2472d73f0bd3178bfb9cb31d3c2dbd3c37d5c73ba370ea6fced3a9bfde512
3
+ metadata.gz: cf0281354d058359e076603ce713b412cd838a4c5ffe326534275ec858cb11a1
4
+ data.tar.gz: a556f35232b6cca374d9b118d8b8b8ac9bf4e09e5714fae9c1f3c216ca658b20
5
5
  SHA512:
6
- metadata.gz: 490b8624766262c4231eb655f2df5e6c2ebe35efa3f4e8131b36696d017daf5d637e3baad7fb403c587ab18e2fe09321a8444bd797eb093c127bdaabbd2f38ed
7
- data.tar.gz: fd4dd627988588ee71fee72a7071645aa9ef53bb687e0ade23e53c0e63590912f81abf6a300bf969e2578a64a0f58d962417d0dae00779c0ff7ea4987c5af28e
6
+ metadata.gz: ec70f7062aaee4ed619bb00bf91fa3d23cee45ebb15b1c3b3c383ee8867ea29b63b01e199a49dd2ef59f727eb8a156015f817ff31271c81ed69d3d560ea90a78
7
+ data.tar.gz: 33512db4034b62eeddecc4b3b8ec5c370d089cc9526ec1e37989bf26fef200ffe563b3c42e4dd3395be867a81e2bd2790b816610d3249a70d49828de1fdecb9e
@@ -7,6 +7,20 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 12.00. (Other versions are
8
8
  considered development releases, and are not uploaded to CPAN.)
9
9
 
10
+ Nov. 12, 2020 - Version 12.10
11
+
12
+ - Added -validate test for proper TIFF magic number in JPEG EXIF header
13
+ - Added support for Nikon Z7 LensData version 0801
14
+ - Added a new XMP-GPano tag
15
+ - Decode ColorData for the Canon EOS 1DXmkIII (thanks LibRaw)
16
+ - Decode more tags for the Sony ILCE-7SM3 (thanks Jos Roost)
17
+ - Automatically apply QuickTimeUTC option for CR3 files
18
+ - Improved decoding of XAttrMDLabel from MacOS files
19
+ - Ignore time zones when writing date/time values and using the -d option
20
+ - Enhanced -echo3 and -echo4 options to allow exit status to be returned
21
+ - Changed -execute so the -q option no longer suppresses the "{ready}" message
22
+ when a synchronization number is used (eg. -execute123)
23
+
10
24
  Oct. 29, 2020 - Version 12.09
11
25
 
12
26
  - Added ability to copy CanonMakerNotes from CR3 images to other file types
@@ -17,15 +31,14 @@ Oct. 29, 2020 - Version 12.09
17
31
  - Added a new Sony LensType (thanks Jos Roost)
18
32
  - Added a new Nikon Z lens (thanks LibRaw)
19
33
  - Added a new Canon LensType
20
- - Added a new XMP-crs tag
21
34
  - Decode ColorData for Canon EOS R5/R6
22
35
  - Decode a couple of new HEIF tags
23
36
  - Decode FirmwareVersion for Canon M50
24
- - Patched EndDir() feature so subdirectories are always processed when -r is
25
- used (previously, EndDir() would end processing of a directory completely)
26
37
  - Improved decoding of Sony CreativeStyle tags (thanks Jos Roost)
27
38
  - Improved parsing of Radiance files to recognize comments
28
39
  - Renamed GIF AspectRatio tag to PixelAspectRatio
40
+ - Patched EndDir() feature so subdirectories are always processed when -r is
41
+ used (previously, EndDir() would end processing of a directory completely)
29
42
  - Yet another tweak to the EventTime formatting rules (also allow time-only
30
43
  values with fractional seconds and a time zone)
31
44
  - Avoid loading GoPro module unnecessarily when reading MP4 videos from some
@@ -33,7 +46,6 @@ Oct. 29, 2020 - Version 12.09
33
46
  - Fixed problem with an incorrect naming of CodecID tags in some MKV videos
34
47
  - Fixed verbose output to avoid "adding" messages for existing flattened XMP
35
48
  tags
36
- - Added read support for MacOS "._" sidecar files
37
49
 
38
50
  Oct. 15, 2020 - Version 12.08
39
51
 
@@ -47,5 +47,5 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "12.09"
50
+ "version" : "12.10"
51
51
  }
@@ -28,4 +28,4 @@ recommends:
28
28
  Time::HiRes: 0
29
29
  requires:
30
30
  perl: 5.004
31
- version: 12.09
31
+ version: 12.10
data/bin/README CHANGED
@@ -106,8 +106,8 @@ your home directory, then you would type the following commands in a
106
106
  terminal window to extract and run ExifTool:
107
107
 
108
108
  cd ~/Desktop
109
- gzip -dc Image-ExifTool-12.09.tar.gz | tar -xf -
110
- cd Image-ExifTool-12.09
109
+ gzip -dc Image-ExifTool-12.10.tar.gz | tar -xf -
110
+ cd Image-ExifTool-12.10
111
111
  ./exiftool t/images/ExifTool.jpg
112
112
 
113
113
  Note: These commands extract meta information from one of the test images.
@@ -10,7 +10,7 @@
10
10
  use strict;
11
11
  require 5.004;
12
12
 
13
- my $version = '12.09';
13
+ my $version = '12.10';
14
14
 
15
15
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
16
  my $exeDir;
@@ -366,13 +366,21 @@ if (grep /^-common_args$/i, @ARGV) {
366
366
  # loop over sets of command-line arguments separated by "-execute"
367
367
  Command: for (;;) {
368
368
 
369
- @echo3 and print STDOUT join("\n", @echo3), "\n";
370
- @echo4 and print STDERR join("\n", @echo4), "\n";
369
+ if (@echo3) {
370
+ my $str = join "\n", @echo3, "\n";
371
+ $str =~ s/\$\{status\}/$rtnVal/ig;
372
+ print STDOUT $str;
373
+ }
374
+ if (@echo4) {
375
+ my $str = join "\n", @echo4, "\n";
376
+ $str =~ s/\$\{status\}/$rtnVal/ig;
377
+ print STDERR $str;
378
+ }
371
379
 
372
380
  $rafStdin->Close() if $rafStdin;
373
381
  undef $rafStdin;
374
382
 
375
- # save or previous return codes
383
+ # save our previous return codes
376
384
  $rtnValPrev = $rtnVal;
377
385
  $rtnValApp = $rtnVal if $rtnVal;
378
386
 
@@ -387,7 +395,7 @@ if ($binaryStdout) {
387
395
 
388
396
  # flush console and print "{ready}" message if -stay_open is in effect
389
397
  if ($stayOpen >= 2) {
390
- if ($quiet) {
398
+ if ($quiet and not defined $executeID) {
391
399
  # flush output if possible
392
400
  eval { require IO::Handle } and STDERR->flush(), STDOUT->flush();
393
401
  } else {
@@ -554,7 +562,7 @@ if (not $preserveTime and $^O eq 'MSWin32') {
554
562
  for (;;) {
555
563
 
556
564
  # execute the command now if no more arguments or -execute is used
557
- if (not @ARGV or ($ARGV[0] =~ /^(-|\xe2\x88\x92)execute(\d*)$/i and not $endOfOpts)) {
565
+ if (not @ARGV or ($ARGV[0] =~ /^(-|\xe2\x88\x92)execute(\d+)?$/i and not $endOfOpts)) {
558
566
  if (@ARGV) {
559
567
  $executeID = $2; # save -execute number for "{ready}" response
560
568
  $helped = 1; # don't show help if we used -execute
@@ -5296,7 +5304,7 @@ with this command:
5296
5304
 
5297
5305
  produces output like this:
5298
5306
 
5299
- -- Generated by ExifTool 12.09 --
5307
+ -- Generated by ExifTool 12.10 --
5300
5308
  File: a.jpg - 2003:10:31 15:44:19
5301
5309
  (f/5.6, 1/60s, ISO 100)
5302
5310
  File: b.jpg - 2006:05:23 11:57:38
@@ -5729,7 +5737,9 @@ involves an additional processing pass of each file, but this impact may be
5729
5737
  reduced by specifying a I<NUM> for the B<-fast> level used during the
5730
5738
  metadata-extraction phase. For example, B<-fileOrder4> may be used if
5731
5739
  I<TAG> is a pseudo System tag. If multiple B<-fileOrder> options are used,
5732
- the extraction is done at the lowest B<-fast> level.
5740
+ the extraction is done at the lowest B<-fast> level. Note that files are
5741
+ sorted across directory boundaries if multiple input directories are
5742
+ specified.
5733
5743
 
5734
5744
  =item B<-i> I<DIR> (B<-ignore>)
5735
5745
 
@@ -5779,7 +5789,8 @@ of the file processing. Both functions have a return value of 1. Case is
5779
5789
  significant for function names.
5780
5790
 
5781
5791
  End() - end processing after this file
5782
- EndDir() - end processing of files in this directory
5792
+ EndDir() - end processing of files in this directory (not
5793
+ compatible with the B<-fileOrder> option)
5783
5794
 
5784
5795
  Notes:
5785
5796
 
@@ -6241,7 +6252,9 @@ about the configuration file syntax.
6241
6252
  Echo I<TEXT> to stdout (B<-echo> or B<-echo1>) or stderr (B<-echo2>). Text
6242
6253
  is output as the command line is parsed, before the processing of any input
6243
6254
  files. I<NUM> may also be 3 or 4 to output text (to stdout or stderr
6244
- respectively) after processing is complete.
6255
+ respectively) after processing is complete. For B<-echo3> and B<-echo4>,
6256
+ "${status}" may be used in the I<TEXT> string to represent the numerical
6257
+ exit status of the command (see L</EXIT STATUS>).
6245
6258
 
6246
6259
  =item B<-efile>[I<NUM>][!] I<ERRFILE>
6247
6260
 
@@ -6262,7 +6275,8 @@ commands were executed as separate command lines (with the exception of the
6262
6275
  B<-config> and B<-use> options which remain in effect for subsequent
6263
6276
  commands). Allows multiple commands to be executed from a single command
6264
6277
  line. I<NUM> is an optional number that is echoed in the "{ready}" message
6265
- when using the B<-stay_open> feature.
6278
+ when using the B<-stay_open> feature. If a I<NUM> is specified, the B<-q>
6279
+ option no longer suppresses the output "{readyNUM}" message.
6266
6280
 
6267
6281
  =item B<-srcfile> I<FMT>
6268
6282
 
@@ -6312,7 +6326,10 @@ received up to this point, send a "{ready}" message to stdout when done
6312
6326
  (unless the B<-q> or B<-T> option is used), and continue trying to read
6313
6327
  arguments for the next command from I<ARGFILE>. To aid in command/response
6314
6328
  synchronization, any number appended to the C<-execute> option is echoed in
6315
- the "{ready}" message. For example, C<-execute613> results in "{ready613}".
6329
+ the "{ready}" message. For example, C<-execute613> results in "{ready613}".
6330
+ When this number is added, B<-q> no longer suppresses the "{ready}" message.
6331
+ (Also, see the B<-echo3> and B<-echo4> options for additional ways to pass
6332
+ signals back to your application.)
6316
6333
 
6317
6334
  4) Repeat steps 2 and 3 for each command.
6318
6335
 
@@ -6327,7 +6344,7 @@ writing the following lines to the currently open I<ARGFILE>:
6327
6344
  -@
6328
6345
  NEWARGFILE
6329
6346
 
6330
- This causes I<ARGFILE> to be closed, and I<NEWARGFILE> to be kept open.
6347
+ This causes I<ARGFILE> to be closed, and I<NEWARGFILE> to be kept open.
6331
6348
  (Without the B<-stay_open> here, exiftool would have returned to reading
6332
6349
  arguments from I<ARGFILE> after reaching the end of I<NEWARGFILE>.)
6333
6350
 
@@ -28,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
28
28
  %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exePath);
30
30
 
31
- $VERSION = '12.09';
31
+ $VERSION = '12.10';
32
32
  $RELEASE = '';
33
33
  @ISA = qw(Exporter);
34
34
  %EXPORT_TAGS = (
@@ -7147,6 +7147,7 @@ sub DoProcessTIFF($$;$)
7147
7147
  # no longer do this because various files use different values
7148
7148
  # (TIFF=0x2a, RW2/RWL=0x55, HDP=0xbc, BTF=0x2b, ORF=0x4f52/0x5352/0x????)
7149
7149
  # return 0 unless $identifier == 0x2a;
7150
+ $self->Warn('Invalid magic number in EXIF TIFF header') if $fileType eq 'APP1' and $identifier != 0x2a;
7150
7151
 
7151
7152
  # get offset to IFD0
7152
7153
  return 0 if length $$dataPt < 8;
@@ -850,9 +850,10 @@ causing conversion to local time when they are extracted and from local time
850
850
  when written. According to the QuickTime specification date/time values
851
851
  should be UTC, but many digital cameras store local time instead (presumably
852
852
  because they don't know the time zone), so the default is to not convert
853
- these times. This option also disables the autodetection of incorrect
854
- time-zero offsets in QuickTime date/time values, and enforces a time zero of
855
- 1904 as per the QuickTime specification.
853
+ these times (except for Canon CR3 files, which always use UTC times). This
854
+ option also disables the autodetection of incorrect time-zero offsets in
855
+ QuickTime date/time values, and enforces a time zero of 1904 as per the
856
+ QuickTime specification.
856
857
 
857
858
  =item RequestAll
858
859
 
@@ -1899,8 +1899,8 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1899
1899
  Name => 'ColorData9',
1900
1900
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData9' },
1901
1901
  },
1902
- { # (int16u[3656]) - R5/R6 ref PH
1903
- Condition => '$count == 3656',
1902
+ { # (int16u[2024|3656]) - 1DXmkIII (2024) ref IB, R5/R6 (3656) ref PH
1903
+ Condition => '$count == 2024 or $count == 3656',
1904
1904
  Name => 'ColorData10',
1905
1905
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::ColorData10' },
1906
1906
  },
@@ -8094,7 +8094,8 @@ my %ciMaxFocal = (
8094
8094
  },
8095
8095
  );
8096
8096
 
8097
- # Color data (MakerNotes tag 0x4001, count=3656) (same as ColorData9 but shifted up by 0x0e, ref PH)
8097
+ # Color data (MakerNotes tag 0x4001, count=2024,3656)
8098
+ # (same as ColorData9 but shifted up by 0x0e, ref PH)
8098
8099
  %Image::ExifTool::Canon::ColorData10 = (
8099
8100
  %binaryDataAttrs,
8100
8101
  FORMAT => 'int16s',
@@ -8107,6 +8108,7 @@ my %ciMaxFocal = (
8107
8108
  DataMember => 'ColorDataVersion',
8108
8109
  RawConv => '$$self{ColorDataVersion} = $val',
8109
8110
  PrintConv => {
8111
+ 32 => '32 (1DXmkIII)', #IB
8110
8112
  33 => '33 (R5/R6)',
8111
8113
  },
8112
8114
  },
@@ -12,7 +12,7 @@ use strict;
12
12
  use vars qw($VERSION);
13
13
  use Image::ExifTool qw(:DataAccess :Utils);
14
14
 
15
- $VERSION = '1.10';
15
+ $VERSION = '1.11';
16
16
 
17
17
  sub MDItemLocalTime($);
18
18
  sub ProcessATTR($$$);
@@ -651,6 +651,8 @@ sub ProcessATTR($$$)
651
651
  $off < 0 or $off > $dataLen and $et->Warn('Invalid ATTR offset'), last;
652
652
  my $tag = substr($$dataPt, $pos + 11, $n);
653
653
  $tag =~ s/\0+$//; # remove null terminator
654
+ # remove random ID after kMDLabel in tag ID
655
+ $tag =~ s/^com.apple.metadata:kMDLabel_.*/com.apple.metadata:kMDLabel/s;
654
656
  $off + $len > $dataLen and $et->Warn('Truncated ATTR value'), last;
655
657
  my $val = ReadXAttrValue($et, $tagTablePtr, $tag, substr($$dataPt, $off, $len));
656
658
  $et->HandleTag($tagTablePtr, $tag, $val,
@@ -62,7 +62,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
62
62
  use Image::ExifTool::Exif;
63
63
  use Image::ExifTool::GPS;
64
64
 
65
- $VERSION = '3.88';
65
+ $VERSION = '3.89';
66
66
 
67
67
  sub LensIDConv($$$);
68
68
  sub ProcessNikonAVI($$$);
@@ -2083,7 +2083,7 @@ my %binaryDataAttrs = (
2083
2083
  },
2084
2084
  },
2085
2085
  {
2086
- Condition => '$$valPt =~ /^0800/', # Z6/Z7
2086
+ Condition => '$$valPt =~ /^080[01]/', # Z6/Z7
2087
2087
  Name => 'LensData0800',
2088
2088
  SubDirectory => {
2089
2089
  TagTable => 'Image::ExifTool::Nikon::LensData0800',
@@ -8999,7 +8999,7 @@ my %nikonFocalConversions = (
8999
8999
  },
9000
9000
  },
9001
9001
  {
9002
- Condition => '$$valPt =~ /^0800/', # Z6/Z7
9002
+ Condition => '$$valPt =~ /^080[01]/', # Z6/Z7
9003
9003
  Name => 'LensData0800',
9004
9004
  SubDirectory => {
9005
9005
  TagTable => 'Image::ExifTool::Nikon::LensData0800',
@@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
47
  use Image::ExifTool::Exif;
48
48
  use Image::ExifTool::GPS;
49
49
 
50
- $VERSION = '2.54';
50
+ $VERSION = '2.55';
51
51
 
52
52
  sub ProcessMOV($$;$);
53
53
  sub ProcessKeys($$$);
@@ -231,9 +231,10 @@ my %timeInfo = (
231
231
  Writable => 1,
232
232
  Permanent => 1,
233
233
  DelValue => 0,
234
- # Note: This value will be in UTC if generated by a system that is aware of the time zone
235
- ValueConv => 'ConvertUnixTime($val, $self->Options("QuickTimeUTC"))',
236
- ValueConvInv => 'GetUnixTime($val, $self->Options("QuickTimeUTC")) + (66 * 365 + 17) * 24 * 3600',
234
+ # Note: This value will be in UTC if generated by a system that is aware of the time zone (ie. CR3 files)
235
+ RawConvInv => 'GetUnixTime($val, $self->Options("QuickTimeUTC") || $$self{FileType} eq "CR3") + (66 * 365 + 17) * 24 * 3600',
236
+ ValueConv => 'ConvertUnixTime($val, $self->Options("QuickTimeUTC") || $$self{FileType} eq "CR3")',
237
+ ValueConvInv => '$val',
237
238
  PrintConv => '$self->ConvertDateTime($val)',
238
239
  PrintConvInv => '$self->InverseDateTime($val)',
239
240
  # (can't put Groups here because they aren't constant!)
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.31';
37
+ $VERSION = '3.32';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -1583,7 +1583,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1583
1583
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400b' },
1584
1584
  },{
1585
1585
  Name => 'Tag9400c',
1586
- Condition => '$$valPt =~ /^[\x23\x24\x26\x28]/',
1586
+ Condition => '$$valPt =~ /^[\x23\x24\x26\x28\x31]/',
1587
1587
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag9400c' },
1588
1588
  },{
1589
1589
  Name => 'Sony_0x9400',
@@ -8047,21 +8047,18 @@ my %isoSetting2010 = (
8047
8047
  NOTES => q{
8048
8048
  Valid for DSC-HX60V/HX80/HX90V/HX99/HX350/HX400V/QX30/RX0/RX1RM2/RX10/
8049
8049
  RX10M2/RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/RX100M7/WX220/
8050
- WX350/WX500, ILCE-7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2/5000/5100/
8051
- 6000/6100/6300/6400/6500/6600/QX1, ILCA-68/77M2/99M2.
8050
+ WX350/WX500, ILCE-7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
8051
+ 5100/6000/6100/6300/6400/6500/6600/QX1, ILCA-68/77M2/99M2.
8052
8052
  },
8053
8053
  FIRST_ENTRY => 0,
8054
8054
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
8055
8055
  0x0009 => { %releaseMode2 },
8056
- 0x000a => [{
8057
- Condition => '$$self{Model} =~ /^(ILCE-(6100|6400|6600|7M3|7RM3|7RM4|9|9M2)|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2)|ZV-1)\b/',
8058
- Name => 'ShotNumberSincePowerUp',
8059
- Format => 'int8u',
8060
- },{
8061
- Condition => '$$self{Model} !~ /^(ILCE-7C)\b/',
8056
+ 0x000a => {
8062
8057
  Name => 'ShotNumberSincePowerUp',
8058
+ Condition => '$$self{Model} =~ /^(ILCA-(68|77M2|99M2)|ILCE-(5000|5100|6000|6300|6500|7|7M2|7R|7RM2|7S|7SM2|QX1)|DSC-(HX350|HX400V|HX60V|HX80|HX90|HX90V|QX30|RX0|RX1RM2|RX10|RX10M2|RX10M3|RX100M3|RX100M4|RX100M5|WX220|WX350|WX500))\b/',
8059
+ Notes => 'valid only for some models',
8063
8060
  Format => 'int32u',
8064
- }],
8061
+ },
8065
8062
  0x0012 => { %sequenceImageNumber },
8066
8063
  0x0016 => {
8067
8064
  Name => 'SequenceLength',
@@ -8107,6 +8104,7 @@ my %isoSetting2010 = (
8107
8104
  },
8108
8105
  0x002a => {
8109
8106
  Name => 'Quality2',
8107
+ Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
8110
8108
  PrintConv => {
8111
8109
  0 => 'JPEG',
8112
8110
  1 => 'RAW',
@@ -8116,11 +8114,13 @@ my %isoSetting2010 = (
8116
8114
  },
8117
8115
  0x0047 => {
8118
8116
  Name => 'SonyImageHeight',
8117
+ Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
8119
8118
  Format => 'int16u',
8120
8119
  PrintConv => '$val > 0 ? 8*$val : "n.a."',
8121
8120
  },
8122
8121
  0x0053 => {
8123
8122
  Name => 'ModelReleaseYear',
8123
+ Condition => '$$self{Model} !~ /^(ILCE-7SM3)\b/',
8124
8124
  Format => 'int8u',
8125
8125
  PrintConv => 'sprintf("20%.2d", $val)',
8126
8126
  },
@@ -3231,6 +3231,7 @@ my %tagLookup = (
3231
3231
  'initialafpointinservo' => { 2 => 0x13 },
3232
3232
  'initialcameradolly' => { 452 => 'InitialCameraDolly' },
3233
3233
  'initialhorizontalfovdegrees' => { 452 => 'InitialHorizontalFOVDegrees' },
3234
+ 'initialverticalfovdegrees' => { 452 => 'InitialVerticalFOVDegrees' },
3234
3235
  'initialviewheadingdegrees' => { 452 => 'InitialViewHeadingDegrees', 453 => 'InitialViewHeadingDegrees' },
3235
3236
  'initialviewpitchdegrees' => { 452 => 'InitialViewPitchDegrees', 453 => 'InitialViewPitchDegrees' },
3236
3237
  'initialviewrolldegrees' => { 452 => 'InitialViewRollDegrees', 453 => 'InitialViewRollDegrees' },
@@ -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 23716 tags, with 15418 unique tag names.
15
+ They contain a total of 23716 tags, with 15419 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
@@ -3241,6 +3241,7 @@ These tags belong to the ExifTool XMP-GPano family 1 group.
3241
3241
  FullPanoWidthPixels real
3242
3242
  InitialCameraDolly real
3243
3243
  InitialHorizontalFOVDegrees real
3244
+ InitialVerticalFOVDegrees real
3244
3245
  InitialViewHeadingDegrees real
3245
3246
  InitialViewPitchDegrees real
3246
3247
  InitialViewRollDegrees real
@@ -18270,14 +18271,13 @@ DSC-HX50V, DSC-QX10/QX100.
18270
18271
 
18271
18272
  Valid for DSC-HX60V/HX80/HX90V/HX99/HX350/HX400V/QX30/RX0/RX1RM2/RX10/
18272
18273
  RX10M2/RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/RX100M7/WX220/
18273
- WX350/WX500, ILCE-7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/9/9M2/5000/5100/
18274
- 6000/6100/6300/6400/6500/6600/QX1, ILCA-68/77M2/99M2.
18274
+ WX350/WX500, ILCE-7/7C/7R/7S/7M2/7M3/7RM2/7RM3/7RM4/7SM2/7SM3/9/9M2/5000/
18275
+ 5100/6000/6100/6300/6400/6500/6600/QX1, ILCA-68/77M2/99M2.
18275
18276
 
18276
18277
  Index1 Tag Name Writable
18277
18278
  ------ -------- --------
18278
18279
  9 ReleaseMode2 int8u
18279
- 10 ShotNumberSincePowerUp int8u
18280
- ShotNumberSincePowerUp int32u
18280
+ 10 ShotNumberSincePowerUp int32u
18281
18281
  18 SequenceImageNumber int32u
18282
18282
  22 SequenceLength int8u
18283
18283
  26 SequenceFileNumber int32u
@@ -4706,17 +4706,17 @@ sub InverseDateTime($$;$$)
4706
4706
  {
4707
4707
  my ($self, $val, $tzFlag, $dateOnly) = @_;
4708
4708
  my ($rtnVal, $tz);
4709
+ my $fmt = $$self{OPTIONS}{DateFormat};
4709
4710
  # strip off timezone first if it exists
4710
- if ($val =~ s/([+-])(\d{1,2}):?(\d{2})\s*(DST)?$//i) {
4711
+ if (not $fmt and $val =~ s/([+-])(\d{1,2}):?(\d{2})\s*(DST)?$//i) {
4711
4712
  $tz = sprintf("$1%.2d:$3", $2);
4712
- } elsif ($val =~ s/Z$//i) {
4713
+ } elsif (not $fmt and $val =~ s/Z$//i) {
4713
4714
  $tz = 'Z';
4714
4715
  } else {
4715
4716
  $tz = '';
4716
4717
  # allow special value of 'now'
4717
4718
  return $self->TimeNow($tzFlag) if lc($val) eq 'now';
4718
4719
  }
4719
- my $fmt = $$self{OPTIONS}{DateFormat};
4720
4720
  # only convert date if a format was specified and the date is recognizable
4721
4721
  if ($fmt) {
4722
4722
  unless (defined $strptimeLib) {
@@ -1697,6 +1697,7 @@ my %sSubVersion = (
1697
1697
  InitialViewPitchDegrees => { Writable => 'real' },
1698
1698
  InitialViewRollDegrees => { Writable => 'real' },
1699
1699
  InitialHorizontalFOVDegrees => { Writable => 'real' },
1700
+ InitialVerticalFOVDegrees => { Writable => 'real' },
1700
1701
  FirstPhotoDate => { %dateTimeInfo, Groups => { 2 => 'Time' } },
1701
1702
  LastPhotoDate => { %dateTimeInfo, Groups => { 2 => 'Time' } },
1702
1703
  SourcePhotosCount => { Writable => 'integer' },
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.09
3
+ Version: 12.10
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.09.0')
4
+ VERSION = Gem::Version.new('12.10.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: 12.09.0
4
+ version: 12.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-10-30 00:00:00.000000000 Z
12
+ date: 2020-11-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool