exiftool-vendored.exe 12.33.0 → 12.40.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 (200) hide show
  1. package/LICENSE +254 -247
  2. package/bin/exiftool_files/Changes +116 -0
  3. package/bin/exiftool_files/README +45 -45
  4. package/bin/exiftool_files/config_files/acdsee.config +6 -6
  5. package/bin/exiftool_files/config_files/photoshop_paths.config +30 -7
  6. package/bin/exiftool_files/config_files/picasa_faces.config +1 -1
  7. package/bin/exiftool_files/config_files/pix4d.config +2 -2
  8. package/bin/exiftool_files/config_files/tiff_version.config +2 -2
  9. package/bin/exiftool_files/exiftool.pl +112 -82
  10. package/bin/exiftool_files/lib/File/RandomAccess.pm +1 -1
  11. package/bin/exiftool_files/lib/File/RandomAccess.pod +2 -2
  12. package/bin/exiftool_files/lib/Image/ExifTool/AES.pm +1 -1
  13. package/bin/exiftool_files/lib/Image/ExifTool/AFCP.pm +1 -1
  14. package/bin/exiftool_files/lib/Image/ExifTool/AIFF.pm +1 -1
  15. package/bin/exiftool_files/lib/Image/ExifTool/APE.pm +1 -1
  16. package/bin/exiftool_files/lib/Image/ExifTool/APP12.pm +1 -1
  17. package/bin/exiftool_files/lib/Image/ExifTool/ASF.pm +1 -1
  18. package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +1 -1
  19. package/bin/exiftool_files/lib/Image/ExifTool/Audible.pm +1 -1
  20. package/bin/exiftool_files/lib/Image/ExifTool/BMP.pm +1 -1
  21. package/bin/exiftool_files/lib/Image/ExifTool/BPG.pm +1 -1
  22. package/bin/exiftool_files/lib/Image/ExifTool/BZZ.pm +1 -1
  23. package/bin/exiftool_files/lib/Image/ExifTool/BigTIFF.pm +1 -1
  24. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +15 -4
  25. package/bin/exiftool_files/lib/Image/ExifTool/CBOR.pm +1 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +225 -13
  27. package/bin/exiftool_files/lib/Image/ExifTool/CanonCustom.pm +13 -3
  28. package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
  29. package/bin/exiftool_files/lib/Image/ExifTool/CanonVRD.pm +1 -1
  30. package/bin/exiftool_files/lib/Image/ExifTool/CaptureOne.pm +1 -1
  31. package/bin/exiftool_files/lib/Image/ExifTool/Casio.pm +1 -1
  32. package/bin/exiftool_files/lib/Image/ExifTool/Charset.pm +3 -1
  33. package/bin/exiftool_files/lib/Image/ExifTool/DICOM.pm +1 -1
  34. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +1 -1
  35. package/bin/exiftool_files/lib/Image/ExifTool/DNG.pm +1 -1
  36. package/bin/exiftool_files/lib/Image/ExifTool/DPX.pm +1 -1
  37. package/bin/exiftool_files/lib/Image/ExifTool/DV.pm +1 -1
  38. package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +3 -3
  39. package/bin/exiftool_files/lib/Image/ExifTool/DjVu.pm +1 -1
  40. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +1 -1
  41. package/bin/exiftool_files/lib/Image/ExifTool/Exif.pm +64 -20
  42. package/bin/exiftool_files/lib/Image/ExifTool/FITS.pm +1 -1
  43. package/bin/exiftool_files/lib/Image/ExifTool/FLAC.pm +1 -1
  44. package/bin/exiftool_files/lib/Image/ExifTool/FLIF.pm +1 -1
  45. package/bin/exiftool_files/lib/Image/ExifTool/FLIR.pm +48 -11
  46. package/bin/exiftool_files/lib/Image/ExifTool/Fixup.pm +1 -1
  47. package/bin/exiftool_files/lib/Image/ExifTool/Flash.pm +1 -1
  48. package/bin/exiftool_files/lib/Image/ExifTool/FlashPix.pm +1 -1
  49. package/bin/exiftool_files/lib/Image/ExifTool/Font.pm +1 -1
  50. package/bin/exiftool_files/lib/Image/ExifTool/FotoStation.pm +1 -1
  51. package/bin/exiftool_files/lib/Image/ExifTool/FujiFilm.pm +1 -1
  52. package/bin/exiftool_files/lib/Image/ExifTool/GE.pm +1 -1
  53. package/bin/exiftool_files/lib/Image/ExifTool/GIF.pm +6 -2
  54. package/bin/exiftool_files/lib/Image/ExifTool/GIMP.pm +1 -1
  55. package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +15 -11
  56. package/bin/exiftool_files/lib/Image/ExifTool/GeoTiff.pm +1 -1
  57. package/bin/exiftool_files/lib/Image/ExifTool/Geotag.pm +4 -3
  58. package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +1 -1
  59. package/bin/exiftool_files/lib/Image/ExifTool/H264.pm +1 -1
  60. package/bin/exiftool_files/lib/Image/ExifTool/HP.pm +1 -1
  61. package/bin/exiftool_files/lib/Image/ExifTool/HTML.pm +1 -1
  62. package/bin/exiftool_files/lib/Image/ExifTool/HtmlDump.pm +1 -1
  63. package/bin/exiftool_files/lib/Image/ExifTool/ICC_Profile.pm +97 -5
  64. package/bin/exiftool_files/lib/Image/ExifTool/ID3.pm +1 -1
  65. package/bin/exiftool_files/lib/Image/ExifTool/IPTC.pm +1 -1
  66. package/bin/exiftool_files/lib/Image/ExifTool/ISO.pm +1 -1
  67. package/bin/exiftool_files/lib/Image/ExifTool/ITC.pm +1 -1
  68. package/bin/exiftool_files/lib/Image/ExifTool/Import.pm +1 -1
  69. package/bin/exiftool_files/lib/Image/ExifTool/InDesign.pm +1 -1
  70. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +6 -2
  71. package/bin/exiftool_files/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  72. package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +1 -1
  73. package/bin/exiftool_files/lib/Image/ExifTool/JVC.pm +1 -1
  74. package/bin/exiftool_files/lib/Image/ExifTool/Jpeg2000.pm +109 -12
  75. package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +1 -1
  76. package/bin/exiftool_files/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  77. package/bin/exiftool_files/lib/Image/ExifTool/LIF.pm +1 -1
  78. package/bin/exiftool_files/lib/Image/ExifTool/LNK.pm +1 -1
  79. package/bin/exiftool_files/lib/Image/ExifTool/Lang/cs.pm +1 -1
  80. package/bin/exiftool_files/lib/Image/ExifTool/Lang/de.pm +1 -1
  81. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  82. package/bin/exiftool_files/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  83. package/bin/exiftool_files/lib/Image/ExifTool/Lang/es.pm +1 -1
  84. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fi.pm +1 -1
  85. package/bin/exiftool_files/lib/Image/ExifTool/Lang/fr.pm +1 -1
  86. package/bin/exiftool_files/lib/Image/ExifTool/Lang/it.pm +1 -1
  87. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ja.pm +1 -1
  88. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ko.pm +1 -1
  89. package/bin/exiftool_files/lib/Image/ExifTool/Lang/nl.pm +1 -1
  90. package/bin/exiftool_files/lib/Image/ExifTool/Lang/pl.pm +1 -1
  91. package/bin/exiftool_files/lib/Image/ExifTool/Lang/ru.pm +1 -1
  92. package/bin/exiftool_files/lib/Image/ExifTool/Lang/sv.pm +1 -1
  93. package/bin/exiftool_files/lib/Image/ExifTool/Lang/tr.pm +1 -1
  94. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  95. package/bin/exiftool_files/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  96. package/bin/exiftool_files/lib/Image/ExifTool/Leaf.pm +1 -1
  97. package/bin/exiftool_files/lib/Image/ExifTool/Lytro.pm +1 -1
  98. package/bin/exiftool_files/lib/Image/ExifTool/M2TS.pm +1 -1
  99. package/bin/exiftool_files/lib/Image/ExifTool/MIE.pm +1 -1
  100. package/bin/exiftool_files/lib/Image/ExifTool/MIEUnits.pod +1 -1
  101. package/bin/exiftool_files/lib/Image/ExifTool/MIFF.pm +1 -1
  102. package/bin/exiftool_files/lib/Image/ExifTool/MNG.pm +1 -1
  103. package/bin/exiftool_files/lib/Image/ExifTool/MOI.pm +1 -1
  104. package/bin/exiftool_files/lib/Image/ExifTool/MPC.pm +1 -1
  105. package/bin/exiftool_files/lib/Image/ExifTool/MPEG.pm +1 -1
  106. package/bin/exiftool_files/lib/Image/ExifTool/MPF.pm +1 -1
  107. package/bin/exiftool_files/lib/Image/ExifTool/MRC.pm +1 -1
  108. package/bin/exiftool_files/lib/Image/ExifTool/MWG.pm +1 -1
  109. package/bin/exiftool_files/lib/Image/ExifTool/MXF.pm +1 -1
  110. package/bin/exiftool_files/lib/Image/ExifTool/MacOS.pm +1 -1
  111. package/bin/exiftool_files/lib/Image/ExifTool/MakerNotes.pm +1 -1
  112. package/bin/exiftool_files/lib/Image/ExifTool/Matroska.pm +9 -5
  113. package/bin/exiftool_files/lib/Image/ExifTool/Microsoft.pm +1 -1
  114. package/bin/exiftool_files/lib/Image/ExifTool/Minolta.pm +1 -1
  115. package/bin/exiftool_files/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  116. package/bin/exiftool_files/lib/Image/ExifTool/Motorola.pm +1 -1
  117. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +1918 -72
  118. package/bin/exiftool_files/lib/Image/ExifTool/NikonCapture.pm +1 -1
  119. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +523 -6
  120. package/bin/exiftool_files/lib/Image/ExifTool/NikonSettings.pm +150 -87
  121. package/bin/exiftool_files/lib/Image/ExifTool/Nintendo.pm +1 -1
  122. package/bin/exiftool_files/lib/Image/ExifTool/OOXML.pm +1 -1
  123. package/bin/exiftool_files/lib/Image/ExifTool/Ogg.pm +1 -1
  124. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +7 -7
  125. package/bin/exiftool_files/lib/Image/ExifTool/OpenEXR.pm +5 -3
  126. package/bin/exiftool_files/lib/Image/ExifTool/Opus.pm +1 -1
  127. package/bin/exiftool_files/lib/Image/ExifTool/Other.pm +1 -1
  128. package/bin/exiftool_files/lib/Image/ExifTool/PCX.pm +1 -1
  129. package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +6 -4
  130. package/bin/exiftool_files/lib/Image/ExifTool/PGF.pm +1 -1
  131. package/bin/exiftool_files/lib/Image/ExifTool/PICT.pm +1 -1
  132. package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +1 -1
  133. package/bin/exiftool_files/lib/Image/ExifTool/PLUS.pm +1 -1
  134. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +29 -8
  135. package/bin/exiftool_files/lib/Image/ExifTool/PPM.pm +1 -1
  136. package/bin/exiftool_files/lib/Image/ExifTool/PSP.pm +1 -1
  137. package/bin/exiftool_files/lib/Image/ExifTool/Palm.pm +1 -1
  138. package/bin/exiftool_files/lib/Image/ExifTool/Panasonic.pm +1 -1
  139. package/bin/exiftool_files/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  140. package/bin/exiftool_files/lib/Image/ExifTool/Parrot.pm +1 -1
  141. package/bin/exiftool_files/lib/Image/ExifTool/Pentax.pm +3 -2
  142. package/bin/exiftool_files/lib/Image/ExifTool/PhaseOne.pm +1 -1
  143. package/bin/exiftool_files/lib/Image/ExifTool/PhotoCD.pm +1 -1
  144. package/bin/exiftool_files/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  145. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +1 -1
  146. package/bin/exiftool_files/lib/Image/ExifTool/PostScript.pm +1 -1
  147. package/bin/exiftool_files/lib/Image/ExifTool/PrintIM.pm +1 -1
  148. package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +1 -1
  149. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +25 -7
  150. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +40 -4
  151. package/bin/exiftool_files/lib/Image/ExifTool/README +4 -0
  152. package/bin/exiftool_files/lib/Image/ExifTool/RIFF.pm +1 -1
  153. package/bin/exiftool_files/lib/Image/ExifTool/RSRC.pm +1 -1
  154. package/bin/exiftool_files/lib/Image/ExifTool/RTF.pm +1 -1
  155. package/bin/exiftool_files/lib/Image/ExifTool/Radiance.pm +1 -1
  156. package/bin/exiftool_files/lib/Image/ExifTool/Rawzor.pm +1 -1
  157. package/bin/exiftool_files/lib/Image/ExifTool/Real.pm +1 -1
  158. package/bin/exiftool_files/lib/Image/ExifTool/Reconyx.pm +1 -1
  159. package/bin/exiftool_files/lib/Image/ExifTool/Red.pm +1 -1
  160. package/bin/exiftool_files/lib/Image/ExifTool/Ricoh.pm +1 -1
  161. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +6 -2
  162. package/bin/exiftool_files/lib/Image/ExifTool/Sanyo.pm +1 -1
  163. package/bin/exiftool_files/lib/Image/ExifTool/Scalado.pm +1 -1
  164. package/bin/exiftool_files/lib/Image/ExifTool/Shift.pl +3 -1
  165. package/bin/exiftool_files/lib/Image/ExifTool/Shortcuts.pm +1 -1
  166. package/bin/exiftool_files/lib/Image/ExifTool/Sigma.pm +1 -1
  167. package/bin/exiftool_files/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  168. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +34 -12
  169. package/bin/exiftool_files/lib/Image/ExifTool/SonyIDC.pm +1 -1
  170. package/bin/exiftool_files/lib/Image/ExifTool/Stim.pm +1 -1
  171. package/bin/exiftool_files/lib/Image/ExifTool/TagInfoXML.pm +11 -6
  172. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +6581 -5893
  173. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +1641 -59
  174. package/bin/exiftool_files/lib/Image/ExifTool/Text.pm +1 -1
  175. package/bin/exiftool_files/lib/Image/ExifTool/Theora.pm +1 -1
  176. package/bin/exiftool_files/lib/Image/ExifTool/Torrent.pm +1 -1
  177. package/bin/exiftool_files/lib/Image/ExifTool/Unknown.pm +1 -1
  178. package/bin/exiftool_files/lib/Image/ExifTool/VCard.pm +1 -1
  179. package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +1 -1
  180. package/bin/exiftool_files/lib/Image/ExifTool/Vorbis.pm +1 -1
  181. package/bin/exiftool_files/lib/Image/ExifTool/WTV.pm +1 -1
  182. package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  183. package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +1 -1
  184. package/bin/exiftool_files/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  185. package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
  186. package/bin/exiftool_files/lib/Image/ExifTool/WritePNG.pl +30 -10
  187. package/bin/exiftool_files/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  188. package/bin/exiftool_files/lib/Image/ExifTool/WritePostScript.pl +1 -1
  189. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +19 -4
  190. package/bin/exiftool_files/lib/Image/ExifTool/WriteXMP.pl +13 -12
  191. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +56 -10
  192. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +169 -54
  193. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +6 -4
  194. package/bin/exiftool_files/lib/Image/ExifTool/XMPStruct.pl +22 -8
  195. package/bin/exiftool_files/lib/Image/ExifTool/ZIP.pm +10 -2
  196. package/bin/exiftool_files/lib/Image/ExifTool/ZISRAW.pm +1 -1
  197. package/bin/exiftool_files/lib/Image/ExifTool/iWork.pm +1 -1
  198. package/bin/exiftool_files/lib/Image/ExifTool.pm +93 -13
  199. package/bin/exiftool_files/lib/Image/ExifTool.pod +80 -70
  200. package/package.json +3 -3
@@ -22,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
 
25
- $VERSION = '1.50';
25
+ $VERSION = '1.51';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -454,6 +454,8 @@ my %formatMinMax = (
454
454
  0xa018 => { #1
455
455
  Name => 'ExposureTime',
456
456
  Writable => 'rational64u',
457
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
458
+ ValueConvInv => '$val',
457
459
  PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
458
460
  PrintConvInv => '$val',
459
461
  },
@@ -461,6 +463,8 @@ my %formatMinMax = (
461
463
  Name => 'FNumber',
462
464
  Priority => 0,
463
465
  Writable => 'rational64u',
466
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
467
+ ValueConvInv => '$val',
464
468
  PrintConv => 'sprintf("%.1f",$val)',
465
469
  PrintConvInv => '$val',
466
470
  },
@@ -1485,7 +1489,7 @@ Samsung maker notes in EXIF information.
1485
1489
 
1486
1490
  =head1 AUTHOR
1487
1491
 
1488
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1492
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
1489
1493
 
1490
1494
  This library is free software; you can redistribute it and/or modify it
1491
1495
  under the same terms as Perl itself.
@@ -419,7 +419,7 @@ Sanyo maker notes in EXIF information.
419
419
 
420
420
  =head1 AUTHOR
421
421
 
422
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
422
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
423
423
 
424
424
  This library is free software; you can redistribute it and/or modify it
425
425
  under the same terms as Perl itself.
@@ -128,7 +128,7 @@ metadata from the JPEG APP4 SCALADO segment.
128
128
 
129
129
  =head1 AUTHOR
130
130
 
131
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
131
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
132
132
 
133
133
  This library is free software; you can redistribute it and/or modify it
134
134
  under the same terms as Perl itself.
@@ -304,6 +304,8 @@ sub ShiftTime($;$$$)
304
304
  $mode = defined $time[3] ? 'DateTime' : 'Date';
305
305
  } elsif (defined $time[3]) {
306
306
  $mode = 'Time';
307
+ } else {
308
+ $mode = '';
307
309
  }
308
310
  # get number of digits after the seconds decimal point
309
311
  if (defined $time[5] and $time[5] =~ /\.(\d+)/) {
@@ -630,7 +632,7 @@ limited to the range 1970 to 2038 on 32-bit systems.
630
632
 
631
633
  =head1 AUTHOR
632
634
 
633
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
635
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
634
636
 
635
637
  This library is free software; you can redistribute it and/or modify it
636
638
  under the same terms as Perl itself.
@@ -341,7 +341,7 @@ name prefix.
341
341
 
342
342
  =head1 AUTHOR
343
343
 
344
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
344
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
345
345
 
346
346
  This library is free software; you can redistribute it and/or modify it
347
347
  under the same terms as Perl itself.
@@ -837,7 +837,7 @@ Sigma and Foveon maker notes in EXIF information.
837
837
 
838
838
  =head1 AUTHOR
839
839
 
840
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
840
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
841
841
 
842
842
  This library is free software; you can redistribute it and/or modify it
843
843
  under the same terms as Perl itself.
@@ -650,7 +650,7 @@ Sigma and Foveon X3F images.
650
650
 
651
651
  =head1 AUTHOR
652
652
 
653
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
653
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
654
654
 
655
655
  This library is free software; you can redistribute it and/or modify it
656
656
  under the same terms as Perl itself.
@@ -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.46';
37
+ $VERSION = '3.49';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -198,6 +198,8 @@ sub PrintInvLensSpec($;$$);
198
198
  49466 => 'Tamron 150-500mm F5-6.7 Di III VC VXD', #JR (Model A057)
199
199
  49467 => 'Tamron 11-20mm F2.8 Di III-A RXD', #JR (Model B060)
200
200
  49468 => 'Tamron 18-300mm F3.5-6.3 Di III-A VC VXD', #JR (Model B061)
201
+ 49469 => 'Tamron 35-150mm F2-F2.8 Di III VXD', #JR (Model A058)
202
+ 49470 => 'Tamron 28-75mm F2.8 Di III VXD G2', #JR (Model A063)
201
203
 
202
204
  49473 => 'Tokina atx-m 85mm F1.8 FE or Viltrox lens', #JR
203
205
  49473.1 => 'Viltrox 23mm F1.4 E', #JR
@@ -241,7 +243,8 @@ sub PrintInvLensSpec($;$$);
241
243
  50528 => 'Sigma 35mm F1.4 DG DN | A', #IB/JR (021)
242
244
  50529 => 'Sigma 90mm F2.8 DG DN | C', #JR (021)
243
245
  50530 => 'Sigma 24mm F2 DG DN | C', #JR (021)
244
-
246
+ 50531 => 'Sigma 18-50mm F2.8 DC DN | C', #IB/JR (021)
247
+
245
248
  50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR
246
249
  50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB
247
250
  50994 => 'Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III', #IB
@@ -270,7 +273,11 @@ sub PrintInvLensSpec($;$$);
270
273
  51510 => 'Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8', #JR
271
274
  51510.1 => 'Samyang AF 35mm F1.8', #JR
272
275
  51512 => 'Samyang AF 75mm F1.8', #IB/JR
276
+ 51513 => 'Samyang AF 35mm F1.8', #JR
273
277
  51514 => 'Samyang AF 24mm F1.8', #IB
278
+ 51515 => 'Samyang AF 12mm F2.0', #JR
279
+ 51516 => 'Samyang AF 24-70mm F2.8', #JR
280
+ 51517 => 'Samyang AF 50mm F1.4 II', #JR
274
281
  );
275
282
 
276
283
  # ExposureProgram values (ref PH, mainly decoded from A200)
@@ -1580,6 +1587,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1580
1587
  65535 => 'n/a',
1581
1588
  },
1582
1589
  },
1590
+ # 0x203a - 0x2041: first seen October 2021 for ILCE-7M4
1583
1591
  0x3000 => {
1584
1592
  Name => 'ShotInfo',
1585
1593
  SubDirectory => { TagTable => 'Image::ExifTool::Sony::ShotInfo' },
@@ -1608,7 +1616,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1608
1616
  # from mid-2015: ILCE-7RM2/7SM2/6300 and newer models use different offsets
1609
1617
  {
1610
1618
  Name => 'Tag9050a',
1611
- Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
1619
+ Condition => '$$self{Model} !~ /^(DSC-|Stellar|ILCE-(1|6100|6300|6400|6500|6600|7C|7M3|7M4|7RM2|7RM3A?|7RM4A?|7SM2|7SM3|9|9M2)|ILCA-99M2|ILME-FX3|ZV-)/',
1612
1620
  SubDirectory => {
1613
1621
  TagTable => 'Image::ExifTool::Sony::Tag9050a',
1614
1622
  ByteOrder => 'LittleEndian',
@@ -1622,7 +1630,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1622
1630
  },
1623
1631
  },{
1624
1632
  Name => 'Tag9050c',
1625
- Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)/',
1633
+ Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)/',
1626
1634
  SubDirectory => {
1627
1635
  TagTable => 'Image::ExifTool::Sony::Tag9050c',
1628
1636
  ByteOrder => 'LittleEndian',
@@ -2032,6 +2040,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2032
2040
  385 => 'ILME-FX3', #JR
2033
2041
  386 => 'ILCE-7RM3A', #JR
2034
2042
  387 => 'ILCE-7RM4A', #forum12542
2043
+ 388 => 'ILCE-7M4', #IB/JR
2035
2044
  },
2036
2045
  },
2037
2046
  0xb020 => { #2
@@ -7954,7 +7963,7 @@ my %isoSetting2010 = (
7954
7963
  },
7955
7964
  0x0088 => {
7956
7965
  Name => 'InternalSerialNumber', #(NC)
7957
- Condition => '$$self{Model} =~ /^(ILCE-7SM3|ILME-FX3)/',
7966
+ Condition => '$$self{Model} =~ /^(ILCE-(7M4|7SM3)|ILME-FX3)/',
7958
7967
  Format => 'int8u[6]',
7959
7968
  PrintConv => 'unpack "H*", pack "C*", split " ", $val',
7960
7969
  },
@@ -8192,7 +8201,7 @@ my %isoSetting2010 = (
8192
8201
  },
8193
8202
  0x002a => [{
8194
8203
  Name => 'Quality2',
8195
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8204
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8196
8205
  PrintConv => {
8197
8206
  0 => 'JPEG',
8198
8207
  1 => 'RAW',
@@ -8201,7 +8210,7 @@ my %isoSetting2010 = (
8201
8210
  },
8202
8211
  },{
8203
8212
  Name => 'Quality2',
8204
- Condition => '$$self{Model} =~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8213
+ Condition => '$$self{Model} =~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8205
8214
  PrintConv => {
8206
8215
  1 => 'JPEG',
8207
8216
  2 => 'RAW',
@@ -8212,13 +8221,13 @@ my %isoSetting2010 = (
8212
8221
  }],
8213
8222
  0x0047 => {
8214
8223
  Name => 'SonyImageHeight',
8215
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8224
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8216
8225
  Format => 'int16u',
8217
8226
  PrintConv => '$val > 0 ? 8*$val : "n.a."',
8218
8227
  },
8219
8228
  0x0053 => {
8220
8229
  Name => 'ModelReleaseYear',
8221
- Condition => '$$self{Model} !~ /^(ILCE-(1|7SM3)|ILME-FX3)\b/',
8230
+ Condition => '$$self{Model} !~ /^(ILCE-(1|7M4|7SM3)|ILME-FX3)\b/',
8222
8231
  Format => 'int8u',
8223
8232
  PrintConv => 'sprintf("20%.2d", $val)',
8224
8233
  },
@@ -8233,10 +8242,11 @@ my %isoSetting2010 = (
8233
8242
  FIRST_ENTRY => 0,
8234
8243
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
8235
8244
  DATAMEMBER => [ 0 ],
8236
- IS_SUBDIR => [ 0x0498, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8245
+ IS_SUBDIR => [ 0x0498, 0x049d, 0x04a1, 0x04a2, 0x059d, 0x0634, 0x0636, 0x064c, 0x0653, 0x0678, 0x06b8, 0x06de, 0x06e7 ],
8237
8246
  0x0000 => { Name => 'Ver9401', Hidden => 1, RawConv => '$$self{Ver9401} = $val; $$self{OPTIONS}{Unknown}<2 ? undef : $val' },
8238
8247
 
8239
8248
  0x0498 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 148', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8249
+ 0x049d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} == 167', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8240
8250
  0x04a1 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(160|164)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8241
8251
  0x04a2 => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(152|154|155)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
8242
8252
  0x059d => { Name => 'ISOInfo', Condition => '$$self{Ver9401} =~ /^(144|146)/', Format => 'int8u[5]', SubDirectory => { TagTable => 'Image::ExifTool::Sony::ISOInfo' } },
@@ -9505,7 +9515,7 @@ my %isoSetting2010 = (
9505
9515
  WRITE_PROC => \&WriteEnciphered,
9506
9516
  CHECK_PROC => \&Image::ExifTool::CheckBinaryData,
9507
9517
  FORMAT => 'int8u',
9508
- NOTES => 'Valid for the ILCE-1/7SM3, ILME-FX3.',
9518
+ NOTES => 'Valid for the ILCE-1/7M4/7SM3, ILME-FX3.',
9509
9519
  FIRST_ENTRY => 0,
9510
9520
  GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
9511
9521
  0x0000 => { Name => 'Tag9416_0000', PrintConv => 'sprintf("%3d",$val)', RawConv => '$$self{TagVersion} = $val' },
@@ -9632,10 +9642,22 @@ my %isoSetting2010 = (
9632
9642
  },
9633
9643
  0x088f => {
9634
9644
  Name => 'VignettingCorrParams',
9645
+ Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
9646
+ Format => 'int16s[16]',
9647
+ },
9648
+ 0x0891 => {
9649
+ Name => 'VignettingCorrParams',
9650
+ Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
9635
9651
  Format => 'int16s[16]',
9636
9652
  },
9637
9653
  0x0914 => {
9638
9654
  Name => 'ChromaticAberrationCorrParams',
9655
+ Condition => '$$self{Model} !~ /^(ILCE-7M4)/',
9656
+ Format => 'int16s[32]',
9657
+ },
9658
+ 0x0916 => {
9659
+ Name => 'ChromaticAberrationCorrParams',
9660
+ Condition => '$$self{Model} =~ /^(ILCE-7M4)/',
9639
9661
  Format => 'int16s[32]',
9640
9662
  },
9641
9663
  );
@@ -11265,7 +11287,7 @@ Minolta.
11265
11287
 
11266
11288
  =head1 AUTHOR
11267
11289
 
11268
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
11290
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
11269
11291
 
11270
11292
  This library is free software; you can redistribute it and/or modify it
11271
11293
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ write Sony Image Data Converter version 3.0 metadata in ARW images.
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -174,7 +174,7 @@ information.
174
174
 
175
175
  =head1 AUTHOR
176
176
 
177
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
177
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
178
178
 
179
179
  This library is free software; you can redistribute it and/or modify it
180
180
  under the same terms as Perl itself.
@@ -15,7 +15,7 @@ use vars qw($VERSION @ISA $makeMissing);
15
15
  use Image::ExifTool qw(:Utils :Vars);
16
16
  use Image::ExifTool::XMP;
17
17
 
18
- $VERSION = '1.31';
18
+ $VERSION = '1.32';
19
19
  @ISA = qw(Exporter);
20
20
 
21
21
  # set this to a language code to generate Lang module with 'MISSING' entries
@@ -58,6 +58,12 @@ my %translateLang = (
58
58
  my $numbersFirst = 1; # set to -1 to sort numbers last, or 2 to put negative numbers last
59
59
  my $caseInsensitive; # used internally by sort routine
60
60
 
61
+ # write groups that don't represent real family 1 group names
62
+ my %fakeWriteGroup = (
63
+ Comment => 1, # (JPEG Comment)
64
+ colr => 1, # (Jpeg2000 'colr' box)
65
+ );
66
+
61
67
  #------------------------------------------------------------------------------
62
68
  # Utility to print tag information database as an XML list
63
69
  # Inputs: 0) output file name (undef to send to console),
@@ -178,9 +184,8 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
178
184
  }
179
185
  my @groups = $et->GetGroup($tagInfo);
180
186
  my $writeGroup = $$tagInfo{WriteGroup} || $$table{WRITE_GROUP};
181
- if ($writeGroup and $writeGroup ne 'Comment') {
182
- $groups[1] = $writeGroup; # use common write group for group 1
183
- }
187
+ # use common write group for group 1 (unless fake)
188
+ $groups[1] = $writeGroup if $writeGroup and not $fakeWriteGroup{$writeGroup};
184
189
  # add group names if different from table defaults
185
190
  my $grp = '';
186
191
  for ($fam=0; $fam<3; ++$fam) {
@@ -638,7 +643,7 @@ and values.
638
643
 
639
644
  ~head1 AUTHOR
640
645
 
641
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
646
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
642
647
 
643
648
  This library is free software; you can redistribute it and/or modify it
644
649
  under the same terms as Perl itself.
@@ -822,7 +827,7 @@ Number of modules updated, or negative on error.
822
827
 
823
828
  =head1 AUTHOR
824
829
 
825
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
830
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
826
831
 
827
832
  This library is free software; you can redistribute it and/or modify it
828
833
  under the same terms as Perl itself.