exiftool_vendored 12.13.0 → 12.17.1

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.

Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +61 -4
  3. data/bin/MANIFEST +3 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +3 -3
  7. data/bin/exiftool +63 -43
  8. data/bin/lib/File/RandomAccess.pm +1 -1
  9. data/bin/lib/File/RandomAccess.pod +2 -2
  10. data/bin/lib/Image/ExifTool.pm +36 -3
  11. data/bin/lib/Image/ExifTool.pod +9 -7
  12. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  13. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  14. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  15. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  16. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  17. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  18. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  19. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  23. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  24. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +9 -7
  25. data/bin/lib/Image/ExifTool/Canon.pm +3 -2
  26. data/bin/lib/Image/ExifTool/CanonCustom.pm +20 -2
  27. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  29. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DJI.pm +28 -2
  34. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DPX.pm +4 -4
  36. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  39. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  40. data/bin/lib/Image/ExifTool/Exif.pm +45 -16
  41. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  44. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  47. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  48. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FujiFilm.pm +3 -2
  51. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GPS.pm +6 -6
  55. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  56. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  58. data/bin/lib/Image/ExifTool/H264.pm +21 -6
  59. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  61. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/JPEG.pm +24 -2
  70. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  71. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Jpeg2000.pm +9 -4
  74. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  75. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  76. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  77. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  78. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  96. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  97. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  98. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  99. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  101. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  102. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  109. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  110. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  111. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  113. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Nikon.pm +312 -34
  115. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  116. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  117. data/bin/lib/Image/ExifTool/NikonSettings.pm +2013 -0
  118. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  119. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  120. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  122. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  124. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  125. data/bin/lib/Image/ExifTool/PDF.pm +10 -2
  126. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  127. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  128. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  129. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PNG.pm +12 -4
  131. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  133. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  134. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  136. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  137. data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
  138. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  140. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  141. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  142. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  143. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  144. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  145. data/bin/lib/Image/ExifTool/QuickTime.pm +12 -6
  146. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +46 -7
  147. data/bin/lib/Image/ExifTool/README +5 -4
  148. data/bin/lib/Image/ExifTool/RIFF.pm +85 -7
  149. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  150. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  151. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  152. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  153. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  154. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  155. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  161. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  163. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Sony.pm +4 -2
  165. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  166. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  167. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  168. data/bin/lib/Image/ExifTool/TagLookup.pm +3985 -3811
  169. data/bin/lib/Image/ExifTool/TagNames.pod +422 -21
  170. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  173. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  174. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  175. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  177. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  178. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  179. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  180. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  181. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  182. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  183. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  184. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  185. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WriteXMP.pl +10 -7
  187. data/bin/lib/Image/ExifTool/Writer.pl +17 -7
  188. data/bin/lib/Image/ExifTool/XMP.pm +44 -9
  189. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  190. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  191. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  192. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  193. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  194. data/bin/perl-Image-ExifTool.spec +1 -1
  195. data/lib/exiftool_vendored/version.rb +1 -1
  196. metadata +36 -3
@@ -360,7 +360,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
360
360
 
361
361
  =head1 AUTHOR
362
362
 
363
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
363
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
364
364
 
365
365
  This library is free software; you can redistribute it and/or modify it
366
366
  under the same terms as Perl itself.
@@ -352,7 +352,7 @@ Image::ExifTool::AIFF.
352
352
 
353
353
  =head1 AUTHOR
354
354
 
355
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
355
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
356
356
 
357
357
  This library is free software; you can redistribute it and/or modify it
358
358
  under the same terms as Perl itself.
@@ -1398,7 +1398,7 @@ library files.
1398
1398
 
1399
1399
  =head1 AUTHOR
1400
1400
 
1401
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1401
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1402
1402
 
1403
1403
  This library is free software; you can redistribute it and/or modify it
1404
1404
  under the same terms as Perl itself.
@@ -56,7 +56,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat
56
56
  use Image::ExifTool qw(:DataAccess :Utils);
57
57
  use Image::ExifTool::MakerNotes;
58
58
 
59
- $VERSION = '4.31';
59
+ $VERSION = '4.32';
60
60
 
61
61
  sub ProcessExif($$$);
62
62
  sub WriteExif($$$);
@@ -1377,6 +1377,12 @@ my %opcodeInfo = (
1377
1377
  Count => 6,
1378
1378
  Priority => 0,
1379
1379
  },
1380
+ # 0x220 - int32u: 0 (IFD0, Xaiomi Redmi models)
1381
+ # 0x221 - int32u: 0 (IFD0, Xaiomi Redmi models)
1382
+ # 0x222 - int32u: 0 (IFD0, Xaiomi Redmi models)
1383
+ # 0x223 - int32u: 0 (IFD0, Xaiomi Redmi models)
1384
+ # 0x224 - int32u: 0,1 (IFD0, Xaiomi Redmi models)
1385
+ # 0x225 - string: "" (IFD0, Xaiomi Redmi models)
1380
1386
  0x22f => 'StripRowCounts',
1381
1387
  0x2bc => {
1382
1388
  Name => 'ApplicationNotes', # (writable directory!)
@@ -1998,6 +2004,7 @@ my %opcodeInfo = (
1998
2004
  0x885d => 'FaxSubAddress', #9
1999
2005
  0x885e => 'FaxRecvTime', #9
2000
2006
  0x8871 => 'FedexEDR', #exifprobe (NC)
2007
+ # 0x8889 - string: "portrait" (ExifIFD, Xiaomi POCO F1)
2001
2008
  0x888a => { #PH
2002
2009
  Name => 'LeafSubIFD',
2003
2010
  Format => 'int32u', # Leaf incorrectly uses 'undef' format!
@@ -2008,6 +2015,10 @@ my %opcodeInfo = (
2008
2015
  Start => '$val',
2009
2016
  },
2010
2017
  },
2018
+ # 0x8891 - int16u: 35 (ExifIFD, Xiaomi POCO F1)
2019
+ # 0x8894 - int16u: 0 (ExifIFD, Xiaomi POCO F1)
2020
+ # 0x8895 - int16u: 0 (ExifIFD, Xiaomi POCO F1)
2021
+ # 0x889a - int16u: 0 (ExifIFD, Xiaomi POCO F1)
2011
2022
  # 0x89ab - seen "11 100 130 16 0 0 0 0" in IFD0 of TIFF image from IR scanner (forum8470)
2012
2023
  0x9000 => {
2013
2024
  Name => 'ExifVersion',
@@ -2368,6 +2379,8 @@ my %opcodeInfo = (
2368
2379
  Name => 'CameraElevationAngle',
2369
2380
  Writable => 'rational64s',
2370
2381
  },
2382
+ # 0x9999 - string: camera settings (ExifIFD, Xiaomi POCO F1)
2383
+ # 0x9aaa - int8u[2176]: ? (ExifIFD, Xiaomi POCO F1)
2371
2384
  0x9c9b => {
2372
2385
  Name => 'XPTitle',
2373
2386
  Format => 'undef',
@@ -2547,6 +2560,7 @@ my %opcodeInfo = (
2547
2560
  5 => 'Color sequential area',
2548
2561
  7 => 'Trilinear',
2549
2562
  8 => 'Color sequential linear',
2563
+ # 15 - used by DJI XT2
2550
2564
  },
2551
2565
  },
2552
2566
  0xa300 => {
@@ -4715,8 +4729,8 @@ my %subSecConv = (
4715
4729
  },
4716
4730
  LensID => {
4717
4731
  Groups => { 2 => 'Camera' },
4732
+ Require => 'LensType',
4718
4733
  Desire => {
4719
- 0 => 'LensType',
4720
4734
  1 => 'FocalLength',
4721
4735
  2 => 'MaxAperture',
4722
4736
  3 => 'MaxApertureValue',
@@ -4735,25 +4749,16 @@ my %subSecConv = (
4735
4749
  Applies only to LensType values with a lookup table. May be configured
4736
4750
  by adding user-defined lenses
4737
4751
  },
4738
- # this LensID is only valid if the LensType has a PrintConv,
4739
- # or LensType or LensModel are the model name
4752
+ # this LensID is only valid if the LensType has a PrintConv or is a model name
4740
4753
  RawConv => q{
4741
4754
  my $printConv = $$self{TAG_INFO}{LensType}{PrintConv};
4742
- return $val if ref $printConv eq 'HASH' or
4743
- (ref $printConv eq 'ARRAY' and ref $$printConv[0] eq 'HASH') or
4744
- (defined $val[0] and $val[0] =~ /(mm|\d\/F)/) or
4745
- (defined $val[6] and $val[6] =~ /(mm|\d\/F)/);
4755
+ return $val if ref $printConv eq 'HASH' or (ref $printConv eq 'ARRAY' and
4756
+ ref $$printConv[0] eq 'HASH') or $val[0] =~ /(mm|\d\/F)/;
4746
4757
  return undef;
4747
4758
  },
4748
- ValueConv => '$val[0] || $val[6]',
4759
+ ValueConv => '$val',
4749
4760
  PrintConv => q{
4750
4761
  my $pcv;
4751
- # use LensModel ([6]) if LensType ([0]) is not populated
4752
- # (iPhone populates LensModel but not LensType)
4753
- if (not defined $val[0] and defined $val[6]) {
4754
- $val[0] = $val[6];
4755
- $prt[0] = $prt[6];
4756
- }
4757
4762
  # use LensType2 instead of LensType if available and valid (Sony E-mount lenses)
4758
4763
  # (0x8000 or greater; 0 for several older/3rd-party E-mount lenses)
4759
4764
  if (defined $val[9] and ($val[9] & 0x8000 or $val[9] == 0)) {
@@ -4781,6 +4786,30 @@ my %subSecConv = (
4781
4786
  return $lens;
4782
4787
  },
4783
4788
  },
4789
+ 'LensID-2' => {
4790
+ Name => 'LensID',
4791
+ Groups => { 2 => 'Camera' },
4792
+ Desire => {
4793
+ 0 => 'LensModel',
4794
+ 1 => 'Lens',
4795
+ 2 => 'XMP-aux:LensID',
4796
+ 3 => 'Make',
4797
+ },
4798
+ Inhibit => {
4799
+ 4 => 'Composite:LensID',
4800
+ },
4801
+ RawConv => q{
4802
+ return undef if defined $val[2] and defined $val[3];
4803
+ return $val if defined $val[0] and $val[0] =~ /(mm|\d\/F)/;
4804
+ return $val if defined $val[1] and $val[1] =~ /(mm|\d\/F)/;
4805
+ return undef;
4806
+ },
4807
+ ValueConv => q{
4808
+ return $val[0] if defined $val[0] and $val[0] =~ /(mm|\d\/F)/;
4809
+ return $val[1];
4810
+ },
4811
+ PrintConv => '$_=$val; s/(\d)\/F/$1mm F/; s/mmF/mm F/; s/(\d) mm/${1}mm/; s/ - /-/; $_',
4812
+ },
4784
4813
  );
4785
4814
 
4786
4815
  # table for unknown IFD entries
@@ -6591,7 +6620,7 @@ EXIF and TIFF meta information.
6591
6620
 
6592
6621
  =head1 AUTHOR
6593
6622
 
6594
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
6623
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
6595
6624
 
6596
6625
  This library is free software; you can redistribute it and/or modify it
6597
6626
  under the same terms as Perl itself.
@@ -126,7 +126,7 @@ information from FITS (Flexible Image Transport System) images.
126
126
 
127
127
  =head1 AUTHOR
128
128
 
129
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
129
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
130
130
 
131
131
  This library is free software; you can redistribute it and/or modify it
132
132
  under the same terms as Perl itself.
@@ -284,7 +284,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
284
284
 
285
285
  =head1 AUTHOR
286
286
 
287
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
287
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
288
288
 
289
289
  This library is free software; you can redistribute it and/or modify it
290
290
  under the same terms as Perl itself.
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
329
329
 
330
330
  =head1 AUTHOR
331
331
 
332
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
332
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
333
333
 
334
334
  This library is free software; you can redistribute it and/or modify it
335
335
  under the same terms as Perl itself.
@@ -1594,7 +1594,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
1594
1594
 
1595
1595
  =head1 AUTHOR
1596
1596
 
1597
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1597
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1598
1598
 
1599
1599
  This library is free software; you can redistribute it and/or modify it
1600
1600
  under the same terms as Perl itself.
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
354
354
 
355
355
  =head1 AUTHOR
356
356
 
357
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
357
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
358
358
 
359
359
  This library is free software; you can redistribute it and/or modify it
360
360
  under the same terms as Perl itself.
@@ -721,7 +721,7 @@ will add AMF3 support.
721
721
 
722
722
  =head1 AUTHOR
723
723
 
724
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
724
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
725
725
 
726
726
  This library is free software; you can redistribute it and/or modify it
727
727
  under the same terms as Perl itself.
@@ -2370,7 +2370,7 @@ JPEG images.
2370
2370
 
2371
2371
  =head1 AUTHOR
2372
2372
 
2373
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2373
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2374
2374
 
2375
2375
  This library is free software; you can redistribute it and/or modify it
2376
2376
  under the same terms as Perl itself.
@@ -622,7 +622,7 @@ extracted from these formats.
622
622
 
623
623
  =head1 AUTHOR
624
624
 
625
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
625
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
626
626
 
627
627
  This library is free software; you can redistribute it and/or modify it
628
628
  under the same terms as Perl itself.
@@ -243,7 +243,7 @@ write information from the FotoWare FotoStation trailer.
243
243
 
244
244
  =head1 AUTHOR
245
245
 
246
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
246
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
247
247
 
248
248
  This library is free software; you can redistribute it and/or modify it
249
249
  under the same terms as Perl itself.
@@ -31,7 +31,7 @@ use vars qw($VERSION);
31
31
  use Image::ExifTool qw(:DataAccess :Utils);
32
32
  use Image::ExifTool::Exif;
33
33
 
34
- $VERSION = '1.78';
34
+ $VERSION = '1.79';
35
35
 
36
36
  sub ProcessFujiDir($$$);
37
37
  sub ProcessFaceRec($$$);
@@ -623,6 +623,7 @@ my %faceCategories = (
623
623
  0x700 => 'Eterna', #12
624
624
  0x800 => 'Classic Negative', #forum10536
625
625
  0x900 => 'Bleach Bypass', #forum10890
626
+ 0xa00 => 'Nostalgic Neg', #forum12085
626
627
  },
627
628
  },
628
629
  0x1402 => { #2
@@ -1658,7 +1659,7 @@ FujiFilm maker notes in EXIF information, and to read/write FujiFilm RAW
1658
1659
 
1659
1660
  =head1 AUTHOR
1660
1661
 
1661
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1662
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1662
1663
 
1663
1664
  This library is free software; you can redistribute it and/or modify it
1664
1665
  under the same terms as Perl itself.
@@ -68,7 +68,7 @@ General Imaging maker notes.
68
68
 
69
69
  =head1 AUTHOR
70
70
 
71
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
71
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
72
72
 
73
73
  This library is free software; you can redistribute it and/or modify it
74
74
  under the same terms as Perl itself.
@@ -537,7 +537,7 @@ write GIF meta information.
537
537
 
538
538
  =head1 AUTHOR
539
539
 
540
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
540
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
541
541
 
542
542
  This library is free software; you can redistribute it and/or modify it
543
543
  under the same terms as Perl itself.
@@ -270,7 +270,7 @@ GIMP software.
270
270
 
271
271
  =head1 AUTHOR
272
272
 
273
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
273
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
274
274
 
275
275
  This library is free software; you can redistribute it and/or modify it
276
276
  under the same terms as Perl itself.
@@ -12,7 +12,7 @@ use strict;
12
12
  use vars qw($VERSION);
13
13
  use Image::ExifTool::Exif;
14
14
 
15
- $VERSION = '1.51';
15
+ $VERSION = '1.52';
16
16
 
17
17
  my %coordConv = (
18
18
  ValueConv => 'Image::ExifTool::GPS::ToDegrees($val)',
@@ -50,8 +50,8 @@ my %coordConv = (
50
50
  OTHER => sub {
51
51
  my ($val, $inv) = @_;
52
52
  return undef unless $inv;
53
- return uc $1 if $val =~ /\b([NS])$/i;
54
- return $1 eq '-' ? 'S' : 'N' if $val =~ /^([-+]?)\d+(\.\d*)?$/;
53
+ return uc $1 if $val =~ /\b([NS])\b/i;
54
+ return $1 eq '-' ? 'S' : 'N' if $val =~ /([-+]?)\d+/;
55
55
  return undef;
56
56
  },
57
57
  N => 'North',
@@ -78,8 +78,8 @@ my %coordConv = (
78
78
  OTHER => sub {
79
79
  my ($val, $inv) = @_;
80
80
  return undef unless $inv;
81
- return uc $1 if $val =~ /\b([EW])$/i;
82
- return $1 eq '-' ? 'W' : 'E' if $val =~ /^([-+]?)\d+(\.\d*)?$/;
81
+ return uc $1 if $val =~ /\b([EW])\b/i;
82
+ return $1 eq '-' ? 'W' : 'E' if $val =~ /([-+]?)\d+/;
83
83
  return undef;
84
84
  },
85
85
  E => 'East',
@@ -564,7 +564,7 @@ GPS (Global Positioning System) meta information in EXIF data.
564
564
 
565
565
  =head1 AUTHOR
566
566
 
567
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
567
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
568
568
 
569
569
  This library is free software; you can redistribute it and/or modify it
570
570
  under the same terms as Perl itself.
@@ -2242,7 +2242,7 @@ coordinates.
2242
2242
 
2243
2243
  =head1 AUTHOR
2244
2244
 
2245
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
2245
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2246
2246
 
2247
2247
  This library is free software; you can redistribute it and/or modify it
2248
2248
  under the same terms as Perl itself.
@@ -1412,7 +1412,7 @@ user-defined tag GPSRoll, must be active.
1412
1412
 
1413
1413
  =head1 AUTHOR
1414
1414
 
1415
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1415
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1416
1416
 
1417
1417
  This library is free software; you can redistribute it and/or modify it
1418
1418
  under the same terms as Perl itself.
@@ -718,7 +718,7 @@ metadata from GoPro MP4 videos.
718
718
 
719
719
  =head1 AUTHOR
720
720
 
721
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
721
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
722
722
 
723
723
  This library is free software; you can redistribute it and/or modify it
724
724
  under the same terms as Perl itself.
@@ -89,7 +89,7 @@ my $parsePictureTiming; # flag to enable parsing of picture timing information (
89
89
  Notes => 'hours:minutes:seconds:frames',
90
90
  ValueConv => 'sprintf("%.2x:%.2x:%.2x:%.2x",reverse unpack("C*",$val))',
91
91
  },
92
- # 0x14 - TitleBinaryGroup
92
+ # 0x14 - TitleBinaryGroup - val: 0x00000000,0x14200130
93
93
  # 0x15 - TitleCassetteNo (ref 7)
94
94
  # 0x16-0x17 - TitleSoftID (ref 7)
95
95
  # (0x18,0x19 listed as TitleTextHeader/TitleText by ref 7)
@@ -134,8 +134,8 @@ my $parsePictureTiming; # flag to enable parsing of picture timing information (
134
134
  Name => 'Camera2',
135
135
  SubDirectory => { TagTable => 'Image::ExifTool::H264::Camera2' },
136
136
  },
137
- # 0x73 Lens - val: 0x75ffffd3,0x0effffd3,0x59ffffd3,0x79ffffd3,0xffffffd3...
138
- # 0x74 Gain
137
+ # 0x73 Lens - val: 0x04ffffd3,0x0effffd3,0x15ffffd3,0x41ffffd3,0x52ffffd3,0x59ffffd3,0x65ffffd3,0x71ffffd3,0x75ffffd3,0x79ffffd3,0x7fffffd3,0xffffffd3...
138
+ # 0x74 Gain - val: 0xb8ffff0f
139
139
  # 0x75 Pedestal
140
140
  # 0x76 Gamma
141
141
  # 0x77 Detail
@@ -376,34 +376,49 @@ my $parsePictureTiming; # flag to enable parsing of picture timing information (
376
376
  Notes => 'combined with tag 0xc8',
377
377
  },
378
378
  # 0xc9-0xcf - GPSOption
379
+ # 0xc9 - val: 0x001d0203
380
+ 0xca => { #PH (Sony DSC-HX7V)
381
+ Name => 'GPSDateStamp',
382
+ Format => 'string',
383
+ Groups => { 1 => 'GPS', 2 => 'Time' },
384
+ Combine => 2, # the next 2 tags contain the rest of the string
385
+ Notes => 'combined with tags 0xcb and 0xcc',
386
+ ValueConv => 'Image::ExifTool::Exif::ExifDate($val)',
387
+ },
379
388
  0xe0 => {
380
389
  Name => 'MakeModel',
381
390
  SubDirectory => { TagTable => 'Image::ExifTool::H264::MakeModel' },
382
391
  },
383
392
  # 0xe1-0xef - MakerOption
384
393
  # 0xe1 - val: 0x01000670,0x01000678,0x06ffffff,0x01ffffff,0x01000020,0x01000400...
385
- # 0xe2-0xe8 - val: 0x00000000 in many samples
386
394
  0xe1 => { #6
387
395
  Name => 'RecInfo',
388
396
  Condition => '$$self{Make} eq "Canon"',
389
397
  Notes => 'Canon only',
390
398
  SubDirectory => { TagTable => 'Image::ExifTool::H264::RecInfo' },
391
399
  },
400
+ # 0xe2-0xe8 - val: 0x00000000 in many samples
401
+ # 0xe2 - val: 0x00000000,0x01000000,0x01010000,0x8080900c,0x8080a074
402
+ # 0xe3 - val: 0x00801f89,0x00801f8b,0x00c01f89,0xc9c01f80
392
403
  0xe4 => { #PH
393
404
  Name => 'Model',
394
405
  Condition => '$$self{Make} eq "Sony"', # (possibly also Canon models?)
395
406
  Description => 'Camera Model Name',
396
- Notes => 'Sony cameras only, combined with tags 0xe5 and 0xe6',
407
+ Notes => 'Sony only, combined with tags 0xe5 and 0xe6',
397
408
  Format => 'string',
398
409
  Combine => 2, # (not sure about 0xe6, but include it just in case)
399
410
  RawConv => '$val eq "" ? undef : $val',
400
411
  },
412
+ # 0xeb - val: 0x008a0a00,0x0a300000,0x508a0a00,0x52880a00,0x528a0a00
413
+ # 0xec - val: 0x0b700000
414
+ # 0xed - val: 0x0ce0f819
401
415
  0xee => { #6 (HFS200)
402
416
  Name => 'FrameInfo',
403
417
  Condition => '$$self{Make} eq "Canon"',
404
418
  Notes => 'Canon only',
405
419
  SubDirectory => { TagTable => 'Image::ExifTool::H264::FrameInfo' },
406
420
  },
421
+ # 0xef - val: 0x01c00000,0x0e00000c
407
422
  );
408
423
 
409
424
  # ConsumerCamera1 information (ref PH)
@@ -1108,7 +1123,7 @@ information from H.264 video streams.
1108
1123
 
1109
1124
  =head1 AUTHOR
1110
1125
 
1111
- Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
1126
+ Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
1112
1127
 
1113
1128
  This library is free software; you can redistribute it and/or modify it
1114
1129
  under the same terms as Perl itself.