exiftool-vendored.exe 13.42.0 → 13.43.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.
package/bin/exiftool.exe CHANGED
Binary file
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '13.42';
14
+ my $version = '13.43';
15
15
 
16
16
  $^W = 1; # enable global warnings
17
17
 
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.99';
91
+ $VERSION = '5.00';
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)
@@ -492,6 +492,7 @@ $VERSION = '4.99';
492
492
  '368.12' => 'Sigma 18-35mm f/1.8 DC HSM | A', #50
493
493
  '368.13' => 'Sigma 24-105mm f/4 DG OS HSM | A', #forum3833
494
494
  '368.14' => 'Sigma 18-300mm f/3.5-6.3 DC Macro OS HSM | C', #forum15280 (014)
495
+ '368.15' => 'Sigma 24mm F1.4 DG HSM | A', #50 (015)
495
496
  # Note: LensType 488 (0x1e8) is reported as 232 (0xe8) in 7D CameraSettings
496
497
  488 => 'Canon EF-S 15-85mm f/3.5-5.6 IS USM', #PH
497
498
  489 => 'Canon EF 70-300mm f/4-5.6L IS USM', #Gerald Kapounek
@@ -1423,6 +1424,11 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
1423
1424
  Condition => '$$self{Model} =~ /\bEOS (R6m2|R8|R50)$/',
1424
1425
  SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfoR6m2' },
1425
1426
  },
1427
+ {
1428
+ Name => 'CanonCameraInfoR6m3',
1429
+ Condition => '$$self{Model} =~ /\bEOS R6 Mark III$/',
1430
+ SubDirectory => { TagTable => 'Image::ExifTool::Canon::CameraInfoR6m3' },
1431
+ },
1426
1432
  {
1427
1433
  Name => 'CanonCameraInfoG5XII',
1428
1434
  Condition => '$$self{Model} =~ /\bG5 X Mark II$/',
@@ -4794,6 +4800,22 @@ my %ciMaxFocal = (
4794
4800
  },
4795
4801
  );
4796
4802
 
4803
+ %Image::ExifTool::Canon::CameraInfoR6m3 = (
4804
+ %binaryDataAttrs,
4805
+ FIRST_ENTRY => 0,
4806
+ PRIORITY => 0,
4807
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
4808
+ NOTES => 'CameraInfo tags for the EOS R6 Mark II.',
4809
+ 0x086d => { #forum17745
4810
+ Name => 'ShutterCount',
4811
+ Format => 'int32u',
4812
+ # (upper 2 bytes are currently unknown for this tag in JPEG images --
4813
+ # we need samples ideally spanning the 65536 count)
4814
+ RawConv => '$$self{PATH}[2] eq "UUID-Canon" ? $val : $val & 0xffff',
4815
+ Notes => 'includes electronic + mechanical shutter',
4816
+ },
4817
+ );
4818
+
4797
4819
  # ref https://exiftool.org/forum/index.php?topic=15356.0
4798
4820
  %Image::ExifTool::Canon::CameraInfoG5XII = (
4799
4821
  %binaryDataAttrs,
@@ -37,7 +37,7 @@ use vars qw($VERSION %leicaLensTypes);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
  use Image::ExifTool::Exif;
39
39
 
40
- $VERSION = '2.26';
40
+ $VERSION = '2.27';
41
41
 
42
42
  sub ProcessLeicaLEIC($$$);
43
43
  sub WhiteBalanceConv($;$$);
@@ -916,13 +916,21 @@ my %shootingMode = (
916
916
  Name => 'AFPointPosition',
917
917
  Writable => 'rational64u',
918
918
  Count => 2,
919
- Notes => 'X Y coordinates of primary AF area center, in the range 0.0 to 1.0',
919
+ Notes => q{
920
+ X Y coordinates of primary AF area center, in the range 0.0 to 1.0, or
921
+ "n/a" or "none" for invalid values
922
+ },
920
923
  PrintConv => q{
921
924
  return 'none' if $val eq '16777216 16777216';
925
+ return 'n/a' if $val =~ /^4194303\.9/;
922
926
  my @a = split ' ', $val;
923
927
  sprintf("%.2g %.2g",@a);
924
928
  },
925
- PrintConvInv => '$val eq "none" ? "16777216 16777216" : $val',
929
+ PrintConvInv => q{
930
+ return '16777216 16777216' if $val eq 'none';
931
+ return '4294967295/1024 4294967295/1024' if $val eq 'n/a';
932
+ return $val;
933
+ },
926
934
  },
927
935
  0x4e => { #PH
928
936
  Name => 'FaceDetInfo',
@@ -1441,8 +1449,8 @@ my %shootingMode = (
1441
1449
  Writable => 'rational64u',
1442
1450
  Notes => 'relative to size of image. "n/a" for manual focus',
1443
1451
  Count => 2,
1444
- PrintConv => '$val =~ /^4194303.999/ ? "n/a" : $val',
1445
- PrintConvInv => '$val eq "n/a" ? "4194303.999 4194303.999" : $val',
1452
+ PrintConv => '$val =~ /^4194303\.9/ ? "n/a" : $val',
1453
+ PrintConvInv => '$val eq "n/a" ? "4294967295/1024 4294967295/1024" : $val',
1446
1454
  },
1447
1455
  0xe4 => { #IB
1448
1456
  Name => 'LensTypeModel',
@@ -49,7 +49,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
49
49
  use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
 
52
- $VERSION = '3.23';
52
+ $VERSION = '3.24';
53
53
 
54
54
  sub ProcessMOV($$;$);
55
55
  sub ProcessKeys($$$);
@@ -494,6 +494,7 @@ my %qtFlags = ( #12
494
494
  ispe => 1, # primary item must have an ispe and pixi, so no need to inherit these
495
495
  pixi => 1,
496
496
  irot => 1, # (tmap may have a different irot)
497
+ imir => 1, # (ditto)
497
498
  pasp => 1, # (NC)
498
499
  hvcC => 2, # (hvcC is a property of hvc1 referred to by primary grid)
499
500
  colr => 2, # (colr is a property of primary grid or hvc1 referred to by primary)
@@ -2970,7 +2971,6 @@ my %userDefined = (
2970
2971
  Condition => '$$valPt =~ /^(prof|rICC)/',
2971
2972
  # (don't do this because Apple Preview won't display an HEIC with a 0-length profile)
2972
2973
  # Permanent => 0, # (in QuickTime, this writes a zero-length box instead of deleting)
2973
- Permanent => 1,
2974
2974
  SubDirectory => {
2975
2975
  TagTable => 'Image::ExifTool::ICC_Profile::Main',
2976
2976
  Start => 4,
@@ -2991,6 +2991,22 @@ my %userDefined = (
2991
2991
  3 => 'Rotate 90 CW',
2992
2992
  },
2993
2993
  },
2994
+ imir => { # (applied before rotation)
2995
+ Name => 'Mirroring',
2996
+ Format => 'int8u',
2997
+ # yes, I realize this making this writable is useless without the ability to
2998
+ # create/delete this box because it is the existence of this box that is
2999
+ # significant. (The people who wrote the specification succeeded in making
3000
+ # this as complicated as possible because creating/deleting boxes from the
3001
+ # item property container is a real pain in the ass!)
3002
+ Writable => 'int8u',
3003
+ Protected => 1,
3004
+ PrintConv => {
3005
+ 0 => 'Vertical',
3006
+ 1 => 'Horizontal',
3007
+ # (it would have been great if the specification allowed for a "no mirroring" value)
3008
+ },
3009
+ },
2994
3010
  ispe => {
2995
3011
  Name => 'ImageSpatialExtent',
2996
3012
  Condition => '$$valPt =~ /^\0{4}/', # (version/flags == 0/0)
@@ -6622,7 +6638,7 @@ my %userDefined = (
6622
6638
  This directory contains a list of key names which are used to decode tags
6623
6639
  written by the "mdta" handler. Also in this table are a few tags found in
6624
6640
  timed metadata that are not yet writable by ExifTool. The prefix of
6625
- "com.apple.quicktime." has been removed from the TagID's below. These tags
6641
+ "com.apple.quicktime." has been removed from most TagID's below. These tags
6626
6642
  support alternate languages in the same way as the
6627
6643
  L<ItemList|Image::ExifTool::TagNames/QuickTime ItemList Tags> tags. Note
6628
6644
  that by default,
@@ -6716,14 +6732,17 @@ my %userDefined = (
6716
6732
  'encoder' => { }, # forum15418 (written by ffmpeg)
6717
6733
  #
6718
6734
  # the following tags aren't in the com.apple.quicktime namespace:
6735
+ # (Note: must add any non-'com' prefix to %fullKeysID in WriteQuickTime.pl
6736
+ # to avoid adding the 'com.apple.quicktime' prefix when writing)
6719
6737
  #
6720
6738
  'com.android.version' => 'AndroidVersion',
6721
6739
  'com.android.capture.fps' => { Name => 'AndroidCaptureFPS', Writable => 'float' },
6722
6740
  'com.android.manufacturer' => 'AndroidMake',
6723
6741
  'com.android.model' => 'AndroidModel',
6724
6742
  'com.xiaomi.preview_video_cover' => { Name => 'XiaomiPreviewVideoCover', Writable => 'int32s' },
6725
- 'xiaomi.exifInfo.videoinfo' => 'XiaomiExifInfo',
6726
6743
  'com.xiaomi.hdr10' => { Name => 'XiaomiHDR10', Writable => 'int32s' },
6744
+ 'xiaomi.exifInfo.videoinfo' => 'XiaomiExifInfo',
6745
+ 'samsung.android.utc_offset' => { Name => 'AndroidTimeZone', Groups => { 2 => 'Time' } },
6727
6746
  #
6728
6747
  # also seen
6729
6748
  #
@@ -9776,6 +9795,7 @@ sub ProcessKeys($$$)
9776
9795
  $name = "Tag_$name" if length $name < 2;
9777
9796
  $newInfo = { Name => $name, Groups => { 1 => 'Keys' } };
9778
9797
  $msg = ' (Unknown)';
9798
+ $et->VPrint(0, $$et{INDENT}, "[adding Keys:$tag]\n");
9779
9799
  }
9780
9800
  # substitute this tag in the ItemList table with the given index
9781
9801
  my $id = $$et{KeysCount} . '.' . $index;
@@ -211,7 +211,7 @@ my %insvLimit = (
211
211
  },
212
212
  },{
213
213
  Name => 'gpmd_Wolfbox', # Wolfbox G900 Dashcam and Redtiger F9 4K
214
- Condition => '$$valPt =~ /^.{136}0{16}(HYTH|XXXX)/s',
214
+ Condition => '$$valPt =~ /^.{136}(0{16}[A-Z]{4}|https:\/\/www.redtiger\0)/s',
215
215
  SubDirectory => {
216
216
  TagTable => 'Image::ExifTool::QuickTime::Stream',
217
217
  ProcessProc => \&ProcessWolfbox,
@@ -30,7 +30,7 @@ use strict;
30
30
  use vars qw($VERSION $AUTOLOAD);
31
31
  use Image::ExifTool qw(:DataAccess :Utils);
32
32
 
33
- $VERSION = '1.72';
33
+ $VERSION = '1.73';
34
34
 
35
35
  sub ConvertTimecode($);
36
36
  sub ProcessSGLT($$$);
@@ -851,6 +851,7 @@ my %code2charset = (
851
851
  Name => 'DateCreated',
852
852
  Groups => { 2 => 'Time' },
853
853
  ValueConv => '$_=$val; s/-/:/g; $_',
854
+ PrintConv => '$self->ConvertDateTime($val)',
854
855
  },
855
856
  ICRP => 'Cropped',
856
857
  IDIM => 'Dimensions',
@@ -23,7 +23,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
  use Image::ExifTool::JSON;
25
25
 
26
- $VERSION = '1.59';
26
+ $VERSION = '1.60';
27
27
 
28
28
  sub WriteSTMN($$$);
29
29
  sub ProcessINFO($$$);
@@ -1314,7 +1314,17 @@ my %formatMinMax = (
1314
1314
  # 0x0da1-name - seen 'Captured_App_Info' #forum16086
1315
1315
  # 0xa050-name - seen 'Jpeg360_2D_Info' (Samsung Gear 360)
1316
1316
  # 0xa050 - seen 'Jpeg3602D' (Samsung Gear 360)
1317
+ # 0x0c61-name - seen 'Camera_Capture_Mode_Info'
1318
+ # 0x0c61 - seen '1'
1317
1319
  # 0x0c81-name - seen 'Watermark_Info'
1320
+ # 0x0ce1-name - seen 'Gallery_DC_Data'
1321
+ # 0x0ce1 - seen '0,109,2,19010102,4000,3000,0,0,0,0;116.284004;1.0'
1322
+ # 0x0e41-name - seen 'Video_Edited_UTC_Offset'
1323
+ # 0x0e41 - seen '+0800'
1324
+ '0x0e41' => {
1325
+ Name => 'VideoEditedTimeZone',
1326
+ Groups => { 2 => 'Time' },
1327
+ },
1318
1328
  );
1319
1329
 
1320
1330
  # DualShot Extra Info (ref PH)
@@ -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.80';
37
+ $VERSION = '3.81';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -2215,6 +2215,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2215
2215
  403 => 'ILCE-6100A', #JR
2216
2216
  404 => 'DSC-RX100M7A', #github347
2217
2217
  406 => 'ILME-FX2', #JR
2218
+ 407 => 'ILCE-7M5', #PH
2218
2219
  408 => 'ZV-1A', #JR
2219
2220
  },
2220
2221
  },