exiftool_vendored 11.60.0 → 11.61.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
  SHA1:
3
- metadata.gz: de41613ce5421f4a0a60fd8a46a6dc8e703ea126
4
- data.tar.gz: 4a00871a6182540eaa1273d975a7cf529e90271c
3
+ metadata.gz: 65ea2b4bc54696ca9b8ded4b82cf20b63ccac35e
4
+ data.tar.gz: 2b940fd9b9756a41daf9b513c0cd8c6d2477a286
5
5
  SHA512:
6
- metadata.gz: a3d5662e0bc57eb8c8df76eec7dfa79898d76b654a38f5bacc1970401b40fdc16ff34f0e73b572934fc4df1638ebfdb5568620ba594f843f885e767163cff805
7
- data.tar.gz: b1ef3d7bf40176d2131c9a61f0dc92783d956a1bf8069c8a41b1c0bd90263a23270b3dd799d7ad418cbb2b8038f2f2133f9bc925b2f4cff95224703ba35ef7f8
6
+ metadata.gz: '08d346325378140b1eec45335a4c49b03bb1368c7eece40ffa62f4c252e6fda781e1feab4e339c86e8431f827e6eab8339c9f9c6a63944587d2f04ac5124b685'
7
+ data.tar.gz: b1fb4d3bd28b6561c247c5376d95a54b43c8af0a8c86c2ccb264edbb7b309ff75dc95c29344fe28c21055338ef5b6422ae9edb691ae3a9257ccc1b4e4ff60f02
data/bin/Changes CHANGED
@@ -7,6 +7,21 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
7
7
  Note: The most recent production release is Version 11.50. (Other versions are
8
8
  considered development releases, and are not uploaded to CPAN.)
9
9
 
10
+ Aug. 7, 2019 - Version 11.61
11
+
12
+ - Added a new FujiFilm CropMode (thanks LibRaw)
13
+ - Added a couple of proprietary CustomRendered values (thanks Jeffrey Friedl)
14
+ - Added a new Nikon LensID and fixed a Canon LensType (thanks LibRaw)
15
+ - Added a new CanonModelID
16
+ - Decode more Sony DSC-RX100M7 tags (thanks Jos Roost)
17
+ - Write standard EXIF to PNG even if non-standard EXIF already exists
18
+ - Patched to avoid problems overriding new values when writing thumbnail and
19
+ preview images
20
+ - Changed a Minolta/Sony LensType (thanks LibRaw)
21
+ - Changed Composite GPS reference direction tags to be derived from only the
22
+ XMP-exif GPS coordinate tags (and not other XMP GPS coordinates)
23
+ - Reverted a PNG Validation check that was removed from 11.60
24
+
10
25
  July 30, 2019 - Version 11.60
11
26
 
12
27
  - Added a few new Sigma LensType values (thanks LibRaw)
data/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "11.60",
50
+ "version" : "11.61",
51
51
  "x_serialization_backend" : "JSON::PP version 4.02"
52
52
  }
data/bin/META.yml CHANGED
@@ -28,5 +28,5 @@ recommends:
28
28
  Time::HiRes: '0'
29
29
  requires:
30
30
  perl: '5.004'
31
- version: '11.60'
31
+ version: '11.61'
32
32
  x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
data/bin/README CHANGED
@@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
104
104
  terminal window to extract and run ExifTool:
105
105
 
106
106
  cd ~/Desktop
107
- gzip -dc Image-ExifTool-11.60.tar.gz | tar -xf -
108
- cd Image-ExifTool-11.60
107
+ gzip -dc Image-ExifTool-11.61.tar.gz | tar -xf -
108
+ cd Image-ExifTool-11.61
109
109
  ./exiftool t/images/ExifTool.jpg
110
110
 
111
111
  Note: These commands extract meta information from one of the test images.
data/bin/exiftool CHANGED
@@ -10,7 +10,7 @@
10
10
  use strict;
11
11
  require 5.004;
12
12
 
13
- my $version = '11.60';
13
+ my $version = '11.61';
14
14
 
15
15
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
16
  my $exeDir;
@@ -5157,7 +5157,7 @@ with this command:
5157
5157
 
5158
5158
  produces output like this:
5159
5159
 
5160
- -- Generated by ExifTool 11.60 --
5160
+ -- Generated by ExifTool 11.61 --
5161
5161
  File: a.jpg - 2003:10:31 15:44:19
5162
5162
  (f/5.6, 1/60s, ISO 100)
5163
5163
  File: b.jpg - 2006:05:23 11:57:38
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
27
27
  %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
28
28
  %jpegMarker %specialTags %fileTypeLookup);
29
29
 
30
- $VERSION = '11.60';
30
+ $VERSION = '11.61';
31
31
  $RELEASE = '';
32
32
  @ISA = qw(Exporter);
33
33
  %EXPORT_TAGS = (
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.19';
91
+ $VERSION = '4.20';
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)
@@ -511,7 +511,7 @@ $VERSION = '4.19';
511
511
  4154 => 'Canon EF-S 24mm f/2.8 STM', #IB
512
512
  4155 => 'Canon EF-M 28mm f/3.5 Macro IS STM', #42
513
513
  4156 => 'Canon EF 50mm f/1.8 STM', #42
514
- 4157 => 'Canon EF-M 18-150mm 1:3.5-6.3 IS STM', #42
514
+ 4157 => 'Canon EF-M 18-150mm f/3.5-6.3 IS STM', #42
515
515
  4158 => 'Canon EF-S 18-55mm f/4-5.6 IS STM', #PH
516
516
  4159 => 'Canon EF-M 32mm f/1.4 STM', #42
517
517
  4160 => 'Canon EF-S 35mm f/2.8 Macro IS STM', #42
@@ -774,6 +774,7 @@ $VERSION = '4.19';
774
774
  0x4180000 => 'PowerShot G1 X Mark III', #IB
775
775
  0x6040000 => 'PowerShot S100 / Digital IXUS / IXY Digital',
776
776
  0x801 => 'PowerShot SX740 HS',
777
+ 0x804 => 'PowerShot G5 X Mark II',
777
778
  0x805 => 'PowerShot SX70 HS',
778
779
  0x808 => 'PowerShot G7 X Mark III',
779
780
 
@@ -8428,6 +8429,7 @@ my %filterConv = (
8428
8429
  },
8429
8430
  # CTBO - (CR3 files) int32u entry count N, N x (int32u index, int64u offset, int64u size)
8430
8431
  # index: 1=XMP, 2=PRVW, 3=mdat, 4=?, 5=?
8432
+ # --> ignored when reading, but offsets are updated when writing
8431
8433
  CMT1 => { # (CR3 files)
8432
8434
  Name => 'IFD0',
8433
8435
  SubDirectory => {
@@ -42,6 +42,7 @@
42
42
  # 29) http://www.libtiff.org
43
43
  # 30) http://geotiff.maptools.org/spec/geotiffhome.html
44
44
  # 31) https://android.googlesource.com/platform/external/dng_sdk/+/refs/heads/master/source/dng_tag_codes.h
45
+ # 32) Jeffry Friedl private communication
45
46
  # IB) Iliah Borg private communication (LibRaw)
46
47
  # JD) Jens Duttke private communication
47
48
  #------------------------------------------------------------------------------
@@ -55,7 +56,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
55
56
  use Image::ExifTool qw(:DataAccess :Utils);
56
57
  use Image::ExifTool::MakerNotes;
57
58
 
58
- $VERSION = '4.20';
59
+ $VERSION = '4.21';
59
60
 
60
61
  sub ProcessExif($$$);
61
62
  sub WriteExif($$$);
@@ -2552,11 +2553,11 @@ my %sampleFormat = (
2552
2553
  PrintConv => {
2553
2554
  0 => 'Normal',
2554
2555
  1 => 'Custom',
2555
- # 2 - also seen (Apple iOS)
2556
- 3 => 'HDR', # non-standard (Apple iOS)
2557
- # 4 - also seen (Apple iOS) - normal image from iOS Camera app (ref http://regex.info/blog/lightroom-goodies/metadata-presets)
2556
+ 2 => 'HDR (no original saved)', #32 non-standard (Apple iOS)
2557
+ 3 => 'HDR (original saved)', #32 non-standard (Apple iOS)
2558
+ 4 => 'Original (for HDR)', #32 non-standard (Apple iOS)
2558
2559
  6 => 'Panorama', # non-standard (Apple iOS, horizontal or vertical)
2559
- # 7 - also seen (Apple iOS)
2560
+ 7 => 'Portrait HDR', #32 non-standard (Apple iOS)
2560
2561
  8 => 'Portrait', # non-standard (Apple iOS, blurred background)
2561
2562
  # 9 - also seen (Apple iOS) (HDR Portrait?)
2562
2563
  },
@@ -30,7 +30,7 @@ use vars qw($VERSION);
30
30
  use Image::ExifTool qw(:DataAccess :Utils);
31
31
  use Image::ExifTool::Exif;
32
32
 
33
- $VERSION = '1.72';
33
+ $VERSION = '1.73';
34
34
 
35
35
  sub ProcessFujiDir($$$);
36
36
  sub ProcessFaceRec($$$);
@@ -453,8 +453,9 @@ my %faceCategories = (
453
453
  0x104d => { #forum9634
454
454
  Name => 'CropMode',
455
455
  Writable => 'int16u',
456
- PrintConv => {
456
+ PrintConv => { # (perhaps this is a bit mask?)
457
457
  0 => 'n/a',
458
+ 1 => 'Full-frame on GFX', #IB
458
459
  2 => 'Sports Finder Mode', # (mechanical shutter)
459
460
  4 => 'Electronic Shutter 1.25x Crop', # (continuous high)
460
461
  },
@@ -49,7 +49,7 @@ use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode
49
49
  use Image::ExifTool qw(:DataAccess :Utils);
50
50
  use Image::ExifTool::Exif;
51
51
 
52
- $VERSION = '2.78';
52
+ $VERSION = '2.79';
53
53
 
54
54
  # Full list of product codes for Sony-compatible Minolta lenses
55
55
  # (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570)
@@ -363,7 +363,9 @@ $VERSION = '2.78';
363
363
  137 => 'Cosina 70-210mm F2.8-4 AF', #11
364
364
  138 => 'Soligor 19-35mm F3.5-4.5', #11
365
365
  139 => 'Tokina AF 28-300mm F4-6.3', #IB
366
- 142 => 'Voigtlander 70-300mm F4.5-5.6', #JD
366
+ # (the following Cosina 70-300mm lens was also marketed as a Phoenix, Vivitar Series 1, and
367
+ # some sort of 3rd-party marketing as a Voightlander 70-300mm F4.5-5.6 SKOPAR AF, ref IB)
368
+ 142 => 'Cosina AF 70-300mm F4.5-5.6 MC', #IB (was 'Voigtlander 70-300mm F4.5-5.6', #JD)
367
369
  146 => 'Voigtlander Macro APO-Lanthar 125mm F2.5 SL', #JD
368
370
  194 => 'Tamron SP AF 17-50mm F2.8 XR Di II LD Aspherical [IF]', #23 (Model A16)
369
371
  202 => 'Tamron SP AF 70-200mm F2.8 Di LD [IF] Macro', #JR (Model A001) (see also 255.7)
@@ -60,7 +60,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
60
60
  use Image::ExifTool::Exif;
61
61
  use Image::ExifTool::GPS;
62
62
 
63
- $VERSION = '3.68';
63
+ $VERSION = '3.69';
64
64
 
65
65
  sub LensIDConv($$$);
66
66
  sub ProcessNikonAVI($$$);
@@ -333,6 +333,7 @@ sub GetAFPointGrid($$;$);
333
333
  'AA 48 88 A4 3C 3C D5 0E' => 'AF-S Nikkor 180-400mm f/4E TC1.4 FL ED VR + 1.4x TC',
334
334
  'AB 44 5C 8E 34 3C D6 CE' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR',
335
335
  'AB 44 5C 8E 34 3C D6 0E' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR',
336
+ 'AB 44 5C 8E 34 3C D6 4E' => 'AF-P Nikkor 70-300mm f/4.5-5.6E ED VR', #IB
336
337
  'AC 54 3C 3C 0C 0C D7 46' => 'AF-S Nikkor 28mm f/1.4E ED',
337
338
  'AC 54 3C 3C 0C 0C D7 06' => 'AF-S Nikkor 28mm f/1.4E ED',
338
339
  'AD 3C A0 A0 3C 3C D8 0E' => 'AF-S Nikkor 500mm f/5.6E PF ED VR',
@@ -35,7 +35,7 @@ use strict;
35
35
  use vars qw($VERSION $AUTOLOAD %stdCase);
36
36
  use Image::ExifTool qw(:DataAccess :Utils);
37
37
 
38
- $VERSION = '1.50';
38
+ $VERSION = '1.51';
39
39
 
40
40
  sub ProcessPNG_tEXt($$$);
41
41
  sub ProcessPNG_iTXt($$$);
@@ -797,8 +797,8 @@ sub FoundPNG($$$$;$$$$)
797
797
  my $tagName = $$tagInfo{Name};
798
798
  my $processed;
799
799
  if ($$tagInfo{SubDirectory}) {
800
- if ($$et{OPTIONS}{Validate} and $$tagInfo{NonStandard} and not $wasCompressed) {
801
- $et->Warn("Non-standard $$tagInfo{NonStandard} in PNG $tag chunk", 1);
800
+ if ($$et{OPTIONS}{Validate} and $$tagInfo{NonStandard}) {
801
+ $et->WarnOnce("Non-standard $$tagInfo{NonStandard} in PNG $tag chunk", 1);
802
802
  }
803
803
  my $subdir = $$tagInfo{SubDirectory};
804
804
  my $dirName = $$subdir{DirName} || $tagName;
@@ -1049,7 +1049,7 @@ sub ProcessProfile($$$)
1049
1049
  $$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
1050
1050
  \&Image::ExifTool::WriteTIFF);
1051
1051
  $$outBuff = $Image::ExifTool::exifAPP1hdr . $$outBuff if $$outBuff;
1052
- DoneDir($et, 'IFD0', $outBuff);
1052
+ DoneDir($et, 'IFD0', $outBuff, $$tagInfo{NonStandard});
1053
1053
  } else {
1054
1054
  $processed = $et->ProcessTIFF(\%dirInfo);
1055
1055
  }
@@ -1063,7 +1063,7 @@ sub ProcessProfile($$$)
1063
1063
  return 1 unless $$editDirs{XMP};
1064
1064
  $$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr);
1065
1065
  $$outBuff and $$outBuff = $Image::ExifTool::xmpAPP1hdr . $$outBuff;
1066
- DoneDir($et, 'XMP', $outBuff, 1);
1066
+ DoneDir($et, 'XMP', $outBuff, $$tagInfo{NonStandard});
1067
1067
  } else {
1068
1068
  $processed = $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
1069
1069
  }
@@ -1079,7 +1079,7 @@ sub ProcessProfile($$$)
1079
1079
  }
1080
1080
  $$outBuff = $et->WriteDirectory(\%dirInfo, $tagTablePtr,
1081
1081
  \&Image::ExifTool::WriteTIFF);
1082
- DoneDir($et, 'IFD0', $outBuff);
1082
+ DoneDir($et, 'IFD0', $outBuff, $$tagInfo{NonStandard});
1083
1083
  } else {
1084
1084
  $processed = $et->ProcessTIFF(\%dirInfo);
1085
1085
  }
@@ -1245,11 +1245,10 @@ sub ProcessPNG($$)
1245
1245
  $$et{ADD_PNG} = $et->GetNewTagInfoHash(
1246
1246
  \%Image::ExifTool::PNG::Main,
1247
1247
  \%Image::ExifTool::PNG::TextualData);
1248
- # NOTE: PNGDoneTag and PNGDoneDir are used to keep track of metadata added
1249
- # before the PNG IEND chunk is encountered. Currently this is implemented
1250
- # only for XMP, but may be implemented in the future for other types - PH
1248
+ # NOTE: PNGDoneTag is used to keep track of metadata added before the
1249
+ # PNG IEND chunk is encountered. Currently this is implemented only
1250
+ # for XMP, but may be implemented in the future for other types - PH
1251
1251
  $$et{PNGDoneTag} = { };
1252
- $$et{PNGDoneDir} = { };
1253
1252
  # initialize with same directories, with PNG tags taking priority
1254
1253
  $et->InitWriteDirs(\%pngMap,'PNG');
1255
1254
  $editingXMP = $$et{EDIT_DIRS}{XMP};
@@ -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.14';
37
+ $VERSION = '3.15';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -981,7 +981,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
981
981
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010h' },
982
982
  },{
983
983
  Name => 'Tag2010i', # ?
984
- Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
984
+ Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|RX100M7|HX99|RX0M2))\b/',
985
985
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::Tag2010i' },
986
986
  },{
987
987
  Name => 'Tag_0x2010',
@@ -1057,7 +1057,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1057
1057
  # FocusMode for SLT/HV/ILCA and NEX/ILCE; doesn't seem to apply to DSC models (always 0)
1058
1058
  # from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
1059
1059
  Name => 'FocusMode',
1060
- Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2)/)',
1060
+ Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2)/)',
1061
1061
  Writable => 'int8u',
1062
1062
  Priority => 0,
1063
1063
  PrintConv => {
@@ -1089,7 +1089,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1089
1089
  },
1090
1090
  },{
1091
1091
  Name => 'AFAreaModeSetting',
1092
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))/',
1092
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1093
1093
  Notes => 'NEX, ILCE and some DSC models',
1094
1094
  RawConv => '$$self{AFAreaILCE} = $val',
1095
1095
  DataMember => 'AFAreaILCE',
@@ -1125,7 +1125,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1125
1125
  # observed values in range (0 0) to (640 480), with center (320 240) often seen
1126
1126
  # for NEX-5R/6, positions appear to be in an 11x9 grid
1127
1127
  Name => 'FlexibleSpotPosition',
1128
- Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))/',
1128
+ Condition => '$$self{Model} =~ /^(NEX-|ILCE-|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))/',
1129
1129
  Writable => 'int16u',
1130
1130
  Count => 2,
1131
1131
  Notes => q{
@@ -1285,7 +1285,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1285
1285
  # from 2018: at least DSC-RX10M4 and RX100M6 also use this tag
1286
1286
  0x2021 => { #JR
1287
1287
  Name => 'AFTracking',
1288
- Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2)/)',
1288
+ Condition => '($$self{Model} !~ /^DSC-/) or ($$self{Model} =~ /^DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2)/)',
1289
1289
  Writable => 'int8u',
1290
1290
  PrintConv => {
1291
1291
  0 => 'Off',
@@ -7835,7 +7835,7 @@ my %isoSetting2010 = (
7835
7835
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
7836
7836
  0x0009 => { %releaseMode2 },
7837
7837
  0x000a => [{
7838
- Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M5A|HX99|RX0M2))\b/',
7838
+ Condition => '$$self{Model} =~ /^(ILCE-(6400|7M3|7RM3|7RM4|9)|DSC-(RX10M4|RX100M6|RX100M7|RX100M5A|HX99|RX0M2))\b/',
7839
7839
  Name => 'ShotNumberSincePowerUp',
7840
7840
  Format => 'int8u',
7841
7841
  },{
@@ -8376,7 +8376,7 @@ my %isoSetting2010 = (
8376
8376
  },
8377
8377
  0x0342 => {
8378
8378
  Name => 'LensZoomPosition',
8379
- Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7RM4|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|WX500))/',
8379
+ Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3|7RM4|7SM2|6300|6400|6500|9)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10M4|RX100M4|RX100M5|RX100M5A|RX100M6|RX100M7|WX500))/',
8380
8380
  Format => 'int16u',
8381
8381
  PrintConv => 'sprintf("%.0f%%",$val/10.24)',
8382
8382
  PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
@@ -8386,6 +8386,13 @@ my %isoSetting2010 = (
8386
8386
  Condition => '$$self{Model} =~ /^(ILCA-(68|77M2)|ILCE-(5000|5100|6000|7|7R|7S|QX1)|Lusso)\b/',
8387
8387
  Format => 'int16s[16]',
8388
8388
  },
8389
+ 0x034e => {
8390
+ Name => 'LensZoomPosition',
8391
+ Condition => '$$self{Model} =~ /^(DSC-(RX100M5|RX100M5A|RX100M6|RX100M7|RX10M4|HX99)|ILCE-(6400|7M3|7RM3|7RM4))/',
8392
+ Format => 'int16u',
8393
+ PrintConv => 'sprintf("%.0f%%",$val/10.24)',
8394
+ PrintConvInv => '$val=~s/ ?%$//; $val * 10.24',
8395
+ },
8389
8396
  0x0350 => {
8390
8397
  Name => 'VignettingCorrParams',
8391
8398
  Condition => '$$self{Model} =~ /^(ILCE-7M2)/',
@@ -3341,7 +3341,7 @@ my %tagLookup = (
3341
3341
  'lenstype' => { 7 => 0xe2, 8 => 0xd, 9 => 0x1a7, 10 => 0xc, 11 => 0x111, 12 => 0xc, 13 => 0x14f, 14 => 0xd6, 15 => 0xde, 16 => 0xf6, 17 => 0xea, 18 => 0xff, 19 => [0xc,0x97], 20 => 0xe6, 21 => 0x153, 22 => 0xea, 23 => 0xe8, 24 => 0x127, 25 => 0x161, 26 => 0x166, 27 => 0x184, 28 => 0x112, 29 => 0x189, 34 => 0x16, 177 => 0x10c, 178 => 0x49bd, 215 => 0x83, 280 => 0x201, 293 => 0x16, 297 => 0x310, 299 => 0x303, 300 => 0x303, 302 => 0x51, 304 => 0x3405, 329 => 0x0, 330 => 0x0, 331 => 0x1, 332 => 0x1, 333 => 0x1, 335 => 0x0, 376 => 0xa003, 379 => 0x27, 400 => 0xb027, 412 => 0x1896, 414 => 0x18c2, 415 => 0x18f2, 416 => 0x17f6, 418 => 0x109, 419 => 0x109, 428 => 0x608, 429 => 0x62 },
3342
3342
  'lenstype2' => { 389 => 0x3f7, 412 => 0x1893, 414 => 0x18bf, 415 => 0x18ef, 416 => 0x17f3, 418 => 0x107, 419 => 0x107, 428 => 0x605, 429 => 0x60 },
3343
3343
  'lenstype3' => { 432 => 0x9 },
3344
- 'lenszoomposition' => { 425 => 0x19, 426 => 0x1e, 429 => [0x342,0x35a] },
3344
+ 'lenszoomposition' => { 425 => 0x19, 426 => 0x1e, 429 => [0x342,0x34e,0x35a] },
3345
3345
  'levelindicator' => { 310 => 0x15 },
3346
3346
  'levelmeter' => { 362 => ['Lvlm','lvlm'] },
3347
3347
  'levelorientation' => { 336 => 0x0 },
@@ -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 22995 tags, with 15044 unique tag names.
15
+ They contain a total of 22996 tags, with 15044 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
@@ -17629,6 +17629,7 @@ RX10M3/RX10M4/RX100M3/RX100M4/RX100M5/RX100M5A/RX100M6/WX220/WX350, ILCE-7/
17629
17629
  100 DistortionCorrParams int16s[16]
17630
17630
  834 LensZoomPosition int16u
17631
17631
  842 VignettingCorrParams int16s[16]
17632
+ 846 LensZoomPosition int16u
17632
17633
  848 VignettingCorrParams int16s[16]
17633
17634
  858 LensZoomPosition int16u
17634
17635
  860 VignettingCorrParams int16s[16]
@@ -33589,20 +33590,20 @@ values, may created via the ExifTool configuration file.
33589
33590
  GPS:GPSTimeStamp
33590
33591
  GPSDestLatitude GPS:GPSDestLatitude no
33591
33592
  GPS:GPSDestLatitudeRef
33592
- GPSDestLatitudeRef XMP:GPSDestLatitude no
33593
+ GPSDestLatitudeRef XMP-exif:GPSDestLatitude no
33593
33594
  GPSDestLongitude GPS:GPSDestLongitude no
33594
33595
  GPS:GPSDestLongitudeRef
33595
- GPSDestLongitudeRef XMP:GPSDestLongitude no
33596
+ GPSDestLongitudeRef XMP-exif:GPSDestLongitude no
33596
33597
  GPSLatitude GPS:GPSLatitude no
33597
33598
  GPS:GPSLatitudeRef
33598
33599
  GPSLatitude QuickTime:GPSCoordinates no
33599
33600
  GPSLatitude QuickTime:LocationInformation no
33600
- GPSLatitudeRef XMP:GPSLatitude no
33601
+ GPSLatitudeRef XMP-exif:GPSLatitude no
33601
33602
  GPSLongitude GPS:GPSLongitude no
33602
33603
  GPS:GPSLongitudeRef
33603
33604
  GPSLongitude QuickTime:GPSCoordinates no
33604
33605
  GPSLongitude QuickTime:LocationInformation no
33605
- GPSLongitudeRef XMP:GPSLongitude no
33606
+ GPSLongitudeRef XMP-exif:GPSLongitude no
33606
33607
  GPSPosition GPSLatitude no
33607
33608
  GPSLongitude
33608
33609
  HyperfocalDistance FocalLength no
@@ -130,7 +130,6 @@ sub Add_iCCP($$)
130
130
  if (defined $buff and length $buff and WriteProfile($outfile, 'icm', \$buff)) {
131
131
  $et->VPrint(0, "Created ICC profile\n");
132
132
  delete $$et{ADD_DIRS}{ICC_Profile}; # don't add it again
133
- $$et{PNGDoneDir}{ICC_Profile} = 2;
134
133
  }
135
134
  }
136
135
  return 1;
@@ -144,14 +143,15 @@ sub Add_iCCP($$)
144
143
  sub DoneDir($$$;$)
145
144
  {
146
145
  my ($et, $dir, $outBuff, $nonStandard) = @_;
147
- $dir = 'IFD0' if $dir eq 'EXIF';
146
+ my $saveDir = $dir;
147
+ $dir = 'EXIF' if $dir eq 'IFD0';
148
148
  # don't add this directory again unless this is in a non-standard location
149
- delete $$et{ADD_DIRS}{$dir} unless $nonStandard;
150
- if ($nonStandard and $$et{DEL_GROUP}{$dir}) {
149
+ if (not $nonStandard) {
150
+ delete $$et{ADD_DIRS}{$dir};
151
+ delete $$et{ADD_DIRS}{IFD0} if $dir eq 'EXIF';
152
+ } elsif ($$et{DEL_GROUP}{$dir} or $$et{DEL_GROUP}{$saveDir}) {
151
153
  $et->VPrint(0," Deleting non-standard $dir\n");
152
154
  $$outBuff = '';
153
- } elsif (not $$et{PNGDoneDir}{$dir}) {
154
- $$et{PNGDoneDir}{$dir} = 1; # set flag indicating the directory exists
155
155
  }
156
156
  }
157
157
 
@@ -341,8 +341,6 @@ sub AddChunks($$;@)
341
341
  next;
342
342
  }
343
343
  delete $$et{ADD_DIRS}{$dir}; # don't add again
344
- # keep track of the directories that we added
345
- $$et{PNGDoneDir}{$dir} = 2 if defined $buff and length $buff;
346
344
  }
347
345
  return not $err;
348
346
  }
@@ -3547,10 +3547,11 @@ sub GetNewValueHash($$;$$$$)
3547
3547
 
3548
3548
  if ($writeGroup) {
3549
3549
  # find the new value in the list with the specified write group
3550
- # (QuickTime and All are special cases because all group1 tags may be updated at once)
3551
- while ($nvHash and $$nvHash{WriteGroup} ne $writeGroup and
3552
- $$nvHash{WriteGroup} !~ /^(QuickTime|All)$/)
3553
- {
3550
+ while ($nvHash and $$nvHash{WriteGroup} ne $writeGroup) {
3551
+ # QuickTime and All are special cases because all group1 tags may be updated at once
3552
+ last if $$nvHash{WriteGroup} =~ /^(QuickTime|All)$/;
3553
+ # replace existing entry if WriteGroup is 'All' (avoids confusion of forum10349)
3554
+ last if $$tagInfo{WriteGroup} and $$tagInfo{WriteGroup} eq 'All';
3554
3555
  $nvHash = $$nvHash{Next};
3555
3556
  }
3556
3557
  }
@@ -49,7 +49,7 @@ use Image::ExifTool::Exif;
49
49
  use Image::ExifTool::GPS;
50
50
  require Exporter;
51
51
 
52
- $VERSION = '3.24';
52
+ $VERSION = '3.25';
53
53
  @ISA = qw(Exporter);
54
54
  @EXPORT_OK = qw(EscapeXML UnescapeXML);
55
55
 
@@ -2236,7 +2236,7 @@ my %sPantryItem = (
2236
2236
  # get latitude/logitude reference from XMP lat/long tags
2237
2237
  # (used to set EXIF GPS position from XMP tags)
2238
2238
  GPSLatitudeRef => {
2239
- Require => 'XMP:GPSLatitude',
2239
+ Require => 'XMP-exif:GPSLatitude',
2240
2240
  # Note: Do not Inihibit based on EXIF:GPSLatitudeRef (see forum10192)
2241
2241
  ValueConv => q{
2242
2242
  IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
@@ -2246,7 +2246,7 @@ my %sPantryItem = (
2246
2246
  PrintConv => { N => 'North', S => 'South' },
2247
2247
  },
2248
2248
  GPSLongitudeRef => {
2249
- Require => 'XMP:GPSLongitude',
2249
+ Require => 'XMP-exif:GPSLongitude',
2250
2250
  ValueConv => q{
2251
2251
  IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
2252
2252
  $val[0] =~ /^.*([EW])/;
@@ -2255,7 +2255,7 @@ my %sPantryItem = (
2255
2255
  PrintConv => { E => 'East', W => 'West' },
2256
2256
  },
2257
2257
  GPSDestLatitudeRef => {
2258
- Require => 'XMP:GPSDestLatitude',
2258
+ Require => 'XMP-exif:GPSDestLatitude',
2259
2259
  ValueConv => q{
2260
2260
  IsFloat($val[0]) and return $val[0] < 0 ? "S" : "N";
2261
2261
  $val[0] =~ /^.*([NS])/;
@@ -2264,7 +2264,7 @@ my %sPantryItem = (
2264
2264
  PrintConv => { N => 'North', S => 'South' },
2265
2265
  },
2266
2266
  GPSDestLongitudeRef => {
2267
- Require => 'XMP:GPSDestLongitude',
2267
+ Require => 'XMP-exif:GPSDestLongitude',
2268
2268
  ValueConv => q{
2269
2269
  IsFloat($val[0]) and return $val[0] < 0 ? "W" : "E";
2270
2270
  $val[0] =~ /^.*([EW])/;
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.60
3
+ Version: 11.61
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('11.60.0')
4
+ VERSION = Gem::Version.new('11.61.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: 11.60.0
4
+ version: 11.61.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: 2019-08-05 00:00:00.000000000 Z
12
+ date: 2019-08-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool