exiftool_vendored 12.37.0 → 12.41.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +73 -0
  3. data/bin/MANIFEST +2 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +45 -45
  7. data/bin/arg_files/exif2xmp.args +5 -0
  8. data/bin/arg_files/xmp2exif.args +6 -0
  9. data/bin/config_files/acdsee.config +6 -6
  10. data/bin/config_files/photoshop_paths.config +30 -7
  11. data/bin/config_files/picasa_faces.config +1 -1
  12. data/bin/config_files/pix4d.config +2 -2
  13. data/bin/config_files/tiff_version.config +2 -2
  14. data/bin/exiftool +100 -67
  15. data/bin/lib/File/RandomAccess.pm +1 -1
  16. data/bin/lib/File/RandomAccess.pod +2 -2
  17. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  18. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  20. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  21. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  22. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  23. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  25. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  26. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  27. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  28. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  29. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
  30. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  31. data/bin/lib/Image/ExifTool/Canon.pm +79 -5
  32. data/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
  33. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  34. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  35. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  36. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  37. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  38. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  39. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  40. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  41. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  42. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  43. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  44. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  45. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  46. data/bin/lib/Image/ExifTool/Exif.pm +53 -21
  47. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  50. data/bin/lib/Image/ExifTool/FLIR.pm +16 -4
  51. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  52. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  53. data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
  54. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  55. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  56. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  57. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  58. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  59. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  60. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  61. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  62. data/bin/lib/Image/ExifTool/Geotag.pm +4 -3
  63. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  64. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  65. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  66. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  67. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  68. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  69. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  70. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  71. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  72. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  73. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  74. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  75. data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
  76. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  77. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  78. data/bin/lib/Image/ExifTool/JVC.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  81. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  82. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  83. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  84. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  86. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  87. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  98. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  99. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  100. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  101. data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  102. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  103. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MIE.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  106. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  114. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  115. data/bin/lib/Image/ExifTool/MacOS.pm +10 -10
  116. data/bin/lib/Image/ExifTool/MakerNotes.pm +13 -2
  117. data/bin/lib/Image/ExifTool/Matroska.pm +9 -5
  118. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  120. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  121. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  122. data/bin/lib/Image/ExifTool/Nikon.pm +1062 -189
  123. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  124. data/bin/lib/Image/ExifTool/NikonCustom.pm +519 -6
  125. data/bin/lib/Image/ExifTool/NikonSettings.pm +17 -18
  126. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  127. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Olympus.pm +8 -7
  130. data/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
  131. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  132. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  137. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  139. data/bin/lib/Image/ExifTool/PNG.pm +28 -8
  140. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  141. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  144. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  145. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  146. data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
  147. data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  151. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  152. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  153. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  154. data/bin/lib/Image/ExifTool/QuickTime.pm +10 -6
  155. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +16 -5
  156. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  157. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  158. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  162. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Samsung.pm +6 -2
  166. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  168. data/bin/lib/Image/ExifTool/Shift.pl +3 -1
  169. data/bin/lib/Image/ExifTool/Shortcuts.pm +3 -2
  170. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  171. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  172. data/bin/lib/Image/ExifTool/Sony.pm +11 -5
  173. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  174. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  175. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  176. data/bin/lib/Image/ExifTool/TagLookup.pm +6385 -6290
  177. data/bin/lib/Image/ExifTool/TagNames.pod +361 -22
  178. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  179. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  182. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  183. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  184. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  185. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  186. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
  191. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  192. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  193. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +9 -4
  194. data/bin/lib/Image/ExifTool/WriteXMP.pl +3 -1
  195. data/bin/lib/Image/ExifTool/Writer.pl +6 -5
  196. data/bin/lib/Image/ExifTool/XMP.pm +51 -25
  197. data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
  198. data/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
  199. data/bin/lib/Image/ExifTool/ZIP.pm +10 -2
  200. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. data/bin/lib/Image/ExifTool.pm +23 -6
  203. data/bin/lib/Image/ExifTool.pod +71 -69
  204. data/bin/perl-Image-ExifTool.spec +43 -43
  205. data/lib/exiftool_vendored/version.rb +1 -1
  206. metadata +2 -2
data/bin/exiftool CHANGED
@@ -8,9 +8,10 @@
8
8
  # (See html/history.html for revision history)
9
9
  #------------------------------------------------------------------------------
10
10
  use strict;
11
+ use warnings;
11
12
  require 5.004;
12
13
 
13
- my $version = '12.37';
14
+ my $version = '12.41';
14
15
 
15
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
17
  BEGIN {
@@ -109,6 +110,8 @@ my %database; # lookup for database information based on file name (in Exi
109
110
  my %filterExt; # lookup for filtered extensions
110
111
  my %ignore; # directory names to ignore
111
112
  my $ignoreHidden; # flag to ignore hidden files
113
+ my %outComma; # flag that output text file needs a comma
114
+ my %outTrailer; # trailer for output text file
112
115
  my %preserveTime; # preserved timestamps for files
113
116
  my %printFmt; # the contents of the print format file
114
117
  my %setTags; # hash of list references for tags to set from files
@@ -441,6 +444,8 @@ undef %database;
441
444
  undef %endDir;
442
445
  undef %filterExt;
443
446
  undef %ignore;
447
+ undef %outComma;
448
+ undef %outTrailer;
444
449
  undef %printFmt;
445
450
  undef %preserveTime;
446
451
  undef %setTags;
@@ -1821,8 +1826,21 @@ if ($filtered and not $validFile) {
1821
1826
  PrintCSV() if $csv and not $isWriting;
1822
1827
 
1823
1828
  # print folder/file trailer if necessary
1824
- print $sectTrailer if $sectTrailer and not $textOut;
1825
- print $fileTrailer if $fileTrailer and not $textOut and not $fileHeader;
1829
+ if ($textOut) {
1830
+ foreach (keys %outTrailer) {
1831
+ next unless $outTrailer{$_};
1832
+ if ($mt->Open(\*OUTTRAIL, $_, '>>')) {
1833
+ my $fp = \*OUTTRAIL;
1834
+ print $fp $outTrailer{$_};
1835
+ close $fp;
1836
+ } else {
1837
+ Error("Error appending to $_\n");
1838
+ }
1839
+ }
1840
+ } else {
1841
+ print $sectTrailer if $sectTrailer;
1842
+ print $fileTrailer if $fileTrailer and not $fileHeader;
1843
+ }
1826
1844
 
1827
1845
  my $totWr = $countGoodWr + $countBadWr + $countSameWr + $countCopyWr +
1828
1846
  $countGoodCr + $countBadCr;
@@ -1969,6 +1987,7 @@ sub GetImageInfo($$)
1969
1987
  } else {
1970
1988
  $pipe = qq{bzip2 -dc "$file" |};
1971
1989
  }
1990
+ $$et{TRUST_PIPE} = 1;
1972
1991
  }
1973
1992
  }
1974
1993
  # evaluate -if expression for conditional processing
@@ -2159,6 +2178,9 @@ sub GetImageInfo($$)
2159
2178
  $tmpText = $outfile unless $append;
2160
2179
  }
2161
2180
 
2181
+ # restore state of comma flag for this file if appending
2182
+ $comma = $outComma{$outfile} if $append and ($textOverwrite & 0x02);
2183
+
2162
2184
  # print the results for this file
2163
2185
  if (%printFmt) {
2164
2186
  # output using print format file (-p) option
@@ -2220,7 +2242,7 @@ sub GetImageInfo($$)
2220
2242
  if ($fp) {
2221
2243
  # print file header (only once)
2222
2244
  if ($fileHeader) {
2223
- print $fp $fileHeader;
2245
+ print $fp $fileHeader unless defined $outfile and ($created{$outfile} or $appended{$outfile});
2224
2246
  undef $fileHeader unless $textOut;
2225
2247
  }
2226
2248
  if ($html) {
@@ -2239,12 +2261,13 @@ sub GetImageInfo($$)
2239
2261
  next unless defined $forcePrint;
2240
2262
  $grp0 = $grp1 = 'Unknown';
2241
2263
  }
2264
+ # add groups from structure fields
2265
+ AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
2242
2266
  next if $groups{$grp1};
2243
2267
  # include family 0 and 1 groups in URI except for internal tags
2244
2268
  # (this will put internal tags in the "XML" group on readback)
2245
2269
  $groups{$grp1} = $grp0;
2246
2270
  push @groups, $grp1;
2247
- AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
2248
2271
  }
2249
2272
  foreach $grp1 (@groups) {
2250
2273
  my $grp = $groups{$grp1};
@@ -2672,9 +2695,17 @@ TAG: foreach $tag (@foundTags) {
2672
2695
  }
2673
2696
  }
2674
2697
  if ($outfile) {
2675
- # write section and file trailers before closing the file
2676
- print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer;
2677
- print $fp $fileTrailer if $fileTrailer;
2698
+ if ($textOverwrite & 0x02) {
2699
+ # save state of this file if we may be appending
2700
+ $outComma{$outfile} = $comma;
2701
+ $outTrailer{$outfile} = '';
2702
+ $outTrailer{$outfile} .= $sectTrailer and $sectTrailer = '' if $sectTrailer;
2703
+ $outTrailer{$outfile} .= $fileTrailer if $fileTrailer;
2704
+ } else {
2705
+ # write section and file trailers before closing the file
2706
+ print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer;
2707
+ print $fp $fileTrailer if $fileTrailer;
2708
+ }
2678
2709
  close($fp);
2679
2710
  undef $tmpText;
2680
2711
  if ($lineCount) {
@@ -2924,7 +2955,7 @@ sub SetImageInfo($$$)
2924
2955
  }
2925
2956
  }
2926
2957
  if (defined $outfile) {
2927
- $verbose and print $vout "'${infile}' --> '${outfile}'\n";
2958
+ defined $verbose and print $vout "'${infile}' --> '${outfile}'\n";
2928
2959
  # create output directory if necessary
2929
2960
  CreateDirectory($outfile);
2930
2961
  # set temporary file (automatically erased on abnormal exit)
@@ -4457,7 +4488,7 @@ B<exiftool> [I<OPTIONS>] -I<TAG>[+-E<lt>]=[I<VALUE>]... I<FILE>...
4457
4488
  =head2 Copying
4458
4489
 
4459
4490
  B<exiftool> [I<OPTIONS>] B<-tagsFromFile> I<SRCFILE>
4460
- [-I<SRCTAG>[E<gt>I<DSTTAG>]...] I<FILE>...
4491
+ [-[I<DSTTAG>E<lt>]I<SRCTAG>...] I<FILE>...
4461
4492
 
4462
4493
  =head2 Other
4463
4494
 
@@ -4497,48 +4528,48 @@ supported by ExifTool (r = read, w = write, c = create):
4497
4528
 
4498
4529
  File Types
4499
4530
  ------------+-------------+-------------+-------------+------------
4500
- 360 r/w | DR4 r/w/c | JNG r/w | ODP r | RIFF r
4501
- 3FR r | DSS r | JP2 r/w | ODS r | RSRC r
4502
- 3G2 r/w | DV r | JPEG r/w | ODT r | RTF r
4503
- 3GP r/w | DVB r/w | JSON r | OFR r | RW2 r/w
4504
- A r | DVR-MS r | JXL r | OGG r | RWL r/w
4505
- AA r | DYLIB r | K25 r | OGV r | RWZ r
4506
- AAE r | EIP r | KDC r | ONP r | RM r
4507
- AAX r/w | EPS r/w | KEY r | OPUS r | SEQ r
4508
- ACR r | EPUB r | LA r | ORF r/w | SKETCH r
4509
- AFM r | ERF r/w | LFP r | ORI r/w | SO r
4510
- AI r/w | EXE r | LIF r | OTF r | SR2 r/w
4511
- AIFF r | EXIF r/w/c | LNK r | PAC r | SRF r
4512
- APE r | EXR r | LRV r/w | PAGES r | SRW r/w
4513
- ARQ r/w | EXV r/w/c | M2TS r | PBM r/w | SVG r
4514
- ARW r/w | F4A/V r/w | M4A/V r/w | PCD r | SWF r
4515
- ASF r | FFF r/w | MACOS r | PCX r | THM r/w
4516
- AVI r | FITS r | MAX r | PDB r | TIFF r/w
4517
- AVIF r/w | FLA r | MEF r/w | PDF r/w | TORRENT r
4518
- AZW r | FLAC r | MIE r/w/ | PEF r/w | TTC r
4519
- BMP r | FLIF r/w | MIFF r c | PFA r | TTF r
4520
- BPG r | FLV r | MKA r | PFB r | TXT r
4521
- BTF r | FPF r | MKS r | PFM r | VCF r
4522
- CHM r | FPX r | MKV r | PGF r | VRD r/w/c
4523
- COS r | GIF r/w | MNG r/w | PGM r/w | VSD r
4524
- CR2 r/w | GPR r/w | MOBI r | PLIST r | WAV r
4525
- CR3 r/w | GZ r | MODD r | PICT r | WDP r/w
4526
- CRM r/w | HDP r/w | MOI r | PMP r | WEBP r
4527
- CRW r/w | HDR r | MOS r/w | PNG r/w | WEBM r
4528
- CS1 r/w | HEIC r/w | MOV r/w | PPM r/w | WMA r
4529
- CSV r | HEIF r/w | MP3 r | PPT r | WMV r
4530
- CZI r | HTML r | MP4 r/w | PPTX r | WTV r
4531
- DCM r | ICC r/w/c | MPC r | PS r/w | WV r
4532
- DCP r/w | ICS r | MPG r | PSB r/w | X3F r/w
4533
- DCR r | IDML r | MPO r/w | PSD r/w | XCF r
4534
- DFONT r | IIQ r/w | MQV r/w | PSP r | XLS r
4535
- DIVX r | IND r/w | MRC r | QTIF r/w | XLSX r
4536
- DJVU r | INSP r/w | MRW r/w | R3D r | XMP r/w/c
4537
- DLL r | INSV r | MXF r | RA r | ZIP r
4538
- DNG r/w | INX r | NEF r/w | RAF r/w |
4539
- DOC r | ISO r | NRW r/w | RAM r |
4540
- DOCX r | ITC r | NUMBERS r | RAR r |
4541
- DPX r | J2C r | O r | RAW r/w |
4531
+ 360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
4532
+ 3FR r | DSS r | JP2 r/w | ODP r | RIFF r
4533
+ 3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
4534
+ 3GP r/w | DVB r/w | JSON r | ODT r | RTF r
4535
+ A r | DVR-MS r | JXL r | OFR r | RW2 r/w
4536
+ AA r | DYLIB r | K25 r | OGG r | RWL r/w
4537
+ AAE r | EIP r | KDC r | OGV r | RWZ r
4538
+ AAX r/w | EPS r/w | KEY r | ONP r | RM r
4539
+ ACR r | EPUB r | LA r | OPUS r | SEQ r
4540
+ AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
4541
+ AI r/w | EXE r | LIF r | ORI r/w | SO r
4542
+ AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
4543
+ APE r | EXR r | LRV r/w | PAC r | SRF r
4544
+ ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
4545
+ ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
4546
+ ASF r | FFF r/w | MACOS r | PCD r | SWF r
4547
+ AVI r | FITS r | MAX r | PCX r | THM r/w
4548
+ AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
4549
+ AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
4550
+ BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
4551
+ BPG r | FLV r | MKA r | PFA r | TTF r
4552
+ BTF r | FPF r | MKS r | PFB r | TXT r
4553
+ CHM r | FPX r | MKV r | PFM r | VCF r
4554
+ COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
4555
+ CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
4556
+ CR3 r/w | GZ r | MODD r | PLIST r | WAV r
4557
+ CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
4558
+ CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
4559
+ CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
4560
+ CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
4561
+ CZI r | HTML r | MP4 r/w | PPT r | WMV r
4562
+ DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
4563
+ DCP r/w | ICS r | MPG r | PS r/w | WV r
4564
+ DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
4565
+ DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
4566
+ DIVX r | IND r/w | MRC r | PSP r | XLS r
4567
+ DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
4568
+ DLL r | INSV r | MXF r | R3D r | XMP r/w/c
4569
+ DNG r/w | INX r | NEF r/w | RA r | ZIP r
4570
+ DOC r | ISO r | NKSC r/w | RAF r/w |
4571
+ DOCX r | ITC r | NRW r/w | RAM r |
4572
+ DPX r | J2C r | NUMBERS r | RAR r |
4542
4573
 
4543
4574
  Meta Information
4544
4575
  ----------------------+----------------------+---------------------
@@ -5134,13 +5165,14 @@ The following examples demonstrate basic use of the B<-csv> option:
5134
5165
  # update metadata for all images in a directory from CSV file
5135
5166
  exiftool -csv=a.csv dir
5136
5167
 
5137
- Empty values are ignored when importing (unless the B<-f> option is used and
5138
- the API MissingTagValue is set to an empty string, in which case the tag is
5168
+ When importing, empty values are ignored unless the B<-f> option is used and
5169
+ the API MissingTagValue is set to an empty string (in which case the tag is
5139
5170
  deleted). Also, FileName and Directory columns are ignored if they exist
5140
- (ie. ExifTool will not attempt to write these tags with a CSV import). To
5141
- force a tag to be deleted, use the B<-f> option and set the value to "-" in
5142
- the CSV file (or to the MissingTagValue if this API option was used).
5143
- Multiple databases may be imported in a single command.
5171
+ (ie. ExifTool will not attempt to write these tags with a CSV import), but
5172
+ all other columns are imported. To force a tag to be deleted, use the B<-f>
5173
+ option and set the value to "-" in the CSV file (or to the MissingTagValue
5174
+ if this API option was used). Multiple databases may be imported in a
5175
+ single command.
5144
5176
 
5145
5177
  When exporting a CSV file, the B<-g> or B<-G> option adds group names to the
5146
5178
  tag headings. If the B<-a> option is used to allow duplicate tag names, the
@@ -5434,7 +5466,7 @@ with this command:
5434
5466
 
5435
5467
  produces output like this:
5436
5468
 
5437
- -- Generated by ExifTool 12.37 --
5469
+ -- Generated by ExifTool 12.41 --
5438
5470
  File: a.jpg - 2003:10:31 15:44:19
5439
5471
  (f/5.6, 1/60s, ISO 100)
5440
5472
  File: b.jpg - 2006:05:23 11:57:38
@@ -5553,7 +5585,9 @@ level greater than 0, most other options are ignored and normal console
5553
5585
  output is suppressed unless specific tags are extracted. Using B<-v0>
5554
5586
  causes the console output buffer to be flushed after each line (which may be
5555
5587
  useful to avoid delays when piping exiftool output), and prints the name of
5556
- each processed file when writing. Also see the B<-progress> option.
5588
+ each processed file when writing and the new file name when renaming,
5589
+ moving or copying. Verbose levels above B<-v0> do not flush after each
5590
+ line. Also see the B<-progress> option.
5557
5591
 
5558
5592
  =item B<-w>[+|!] I<EXT> or I<FMT> (B<-textOut>)
5559
5593
 
@@ -5716,7 +5750,7 @@ example, the following pairs of commands give the same result:
5716
5750
  4) Adding the B<-v> option to B<-W> sends a list of the tags and output file
5717
5751
  names to the console instead of giving a verbose dump of the entire file.
5718
5752
  (Unless appending all output to one file for each source file by using
5719
- B<-W+> with an output file I<FMT> that does not contain %t, $g, %s or %o.)
5753
+ B<-W+> with an output file I<FMT> that does not contain %t, %g, %s or %o.)
5720
5754
 
5721
5755
  5) Individual list items are stored in separate files when B<-W> is combined
5722
5756
  with B<-b>, but note that for separate files to be created %c or %C must be
@@ -5766,11 +5800,10 @@ an XMP extension for the output file.
5766
5800
  =item B<-a>, B<--a> (B<-duplicates>, B<--duplicates>)
5767
5801
 
5768
5802
  Allow (B<-a>) or suppress (B<--a>) duplicate tag names to be extracted. By
5769
- default, duplicate tags are suppressed when reading unless the B<-ee> or
5770
- B<-X> options are used or the Duplicates option is enabled in the
5771
- configuration file. This option has an affect when writing only to allow
5772
- duplicate Warning messages to be shown. Duplicate tags are always extracted
5773
- when copying.
5803
+ default, duplicate tags are suppressed when reading unless the B<-ee> or B<-X>
5804
+ options are used or the Duplicates option is enabled in the configuration file.
5805
+ When writing, this option allows multiple Warning messages to be shown.
5806
+ Duplicate tags are always extracted when copying.
5774
5807
 
5775
5808
  =item B<-e> (B<--composite>)
5776
5809
 
@@ -7248,7 +7281,7 @@ the commands if B<-execute> was used).
7248
7281
 
7249
7282
  =head1 AUTHOR
7250
7283
 
7251
- Copyright 2003-2021, Phil Harvey
7284
+ Copyright 2003-2022, Phil Harvey
7252
7285
 
7253
7286
  This is free software; you can redistribute it and/or modify it under the
7254
7287
  same terms as Perl itself.
@@ -25,7 +25,7 @@
25
25
  #
26
26
  # May also be used for string i/o (just pass a scalar reference)
27
27
  #
28
- # Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
28
+ # Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
29
29
  # This library is free software; you can redistribute it and/or
30
30
  # modify it under the same terms as Perl itself.
31
31
  #------------------------------------------------------------------------------
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Description: Buffer to support random access reading of sequential file
5
5
  #
6
- # Legal: Copyright (c) 2003-2021 Phil Harvey (philharvey66 at gmail.com)
6
+ # Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
7
7
  # This library is free software; you can redistribute it and/or
8
8
  # modify it under the same terms as Perl itself.
9
9
  #------------------------------------------------------------------------------
@@ -236,7 +236,7 @@ the end of file is not allowed.
236
236
 
237
237
  =head1 AUTHOR
238
238
 
239
- Copyright 2003-2021 Phil Harvey (philharvey66 at gmail.com)
239
+ Copyright 2003-2022 Phil Harvey (philharvey66 at gmail.com)
240
240
 
241
241
  This library is free software; you can redistribute it and/or modify it
242
242
  under the same terms as Perl itself.
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
477
477
 
478
478
  =head1 AUTHOR
479
479
 
480
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
480
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
481
481
 
482
482
  This library is free software; you can redistribute it and/or modify it
483
483
  under the same terms as Perl itself.
@@ -259,7 +259,7 @@ scanning for AFCP information.
259
259
 
260
260
  =head1 AUTHOR
261
261
 
262
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
262
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
263
263
 
264
264
  This library is free software; you can redistribute it and/or modify it
265
265
  under the same terms as Perl itself.
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
287
287
 
288
288
  =head1 AUTHOR
289
289
 
290
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
290
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
291
291
 
292
292
  This library is free software; you can redistribute it and/or modify it
293
293
  under the same terms as Perl itself.
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
263
263
 
264
264
  =head1 AUTHOR
265
265
 
266
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
266
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
267
267
 
268
268
  This library is free software; you can redistribute it and/or modify it
269
269
  under the same terms as Perl itself.
@@ -305,7 +305,7 @@ APP12 meta information.
305
305
 
306
306
  =head1 AUTHOR
307
307
 
308
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
308
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
309
309
 
310
310
  This library is free software; you can redistribute it and/or modify it
311
311
  under the same terms as Perl itself.
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
876
876
 
877
877
  =head1 AUTHOR
878
878
 
879
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
879
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
880
880
 
881
881
  This library is free software; you can redistribute it and/or modify it
882
882
  under the same terms as Perl itself.
@@ -149,7 +149,7 @@ Apple maker notes in EXIF information.
149
149
 
150
150
  =head1 AUTHOR
151
151
 
152
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
152
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
153
153
 
154
154
  This library is free software; you can redistribute it and/or modify it
155
155
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from Audible audio books.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
335
335
 
336
336
  =head1 AUTHOR
337
337
 
338
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
339
339
 
340
340
  This library is free software; you can redistribute it and/or modify it
341
341
  under the same terms as Perl itself.
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
231
231
 
232
232
  =head1 AUTHOR
233
233
 
234
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
235
235
 
236
236
  This library is free software; you can redistribute it and/or modify it
237
237
  under the same terms as Perl itself.
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
449
449
  Copyright 2002, Leon Bottou and Yann Le Cun
450
450
  Copyright 2001, AT&T
451
451
  Copyright 1999-2001, LizardTech Inc.
@@ -275,7 +275,7 @@ information in BigTIFF images.
275
275
 
276
276
  =head1 AUTHOR
277
277
 
278
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
278
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
279
279
 
280
280
  This library is free software; you can redistribute it and/or modify it
281
281
  under the same terms as Perl itself.
@@ -669,7 +669,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
669
669
 
670
670
  ~head1 AUTHOR
671
671
 
672
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
672
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
673
673
 
674
674
  This library is free software; you can redistribute it and/or modify it
675
675
  under the same terms as Perl itself.
@@ -905,8 +905,10 @@ TagID: foreach $tagID (@keys) {
905
905
  foreach (@grps) {
906
906
  warn "Group name starts with 'ID-' for $short $name\n" if /^ID-/i;
907
907
  }
908
- if ($isXMP and not $$tagInfo{Avoid} and not $$tagInfo{Struct}) {
909
- $dupXmpTag{$name} and warn "Duplicate XMP tag $name\n";
908
+ if ($isXMP and not $$tagInfo{Avoid} and not $$tagInfo{Struct} and
909
+ ($$tagInfo{Writable} or $$table{WRITABLE}))
910
+ {
911
+ $dupXmpTag{$name} and warn "Duplicate writable XMP tag $name\n";
910
912
  $dupXmpTag{$name} = 1;
911
913
  }
912
914
  # validate Name (must not start with a digit or else XML output will not be valid;
@@ -2760,7 +2762,7 @@ Returned list of writable pseudo tags.
2760
2762
 
2761
2763
  =head1 AUTHOR
2762
2764
 
2763
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
2765
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
2764
2766
 
2765
2767
  This library is free software; you can redistribute it and/or modify it
2766
2768
  under the same terms as Perl itself.
@@ -307,7 +307,7 @@ specification.
307
307
 
308
308
  =head1 AUTHOR
309
309
 
310
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
310
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
311
311
 
312
312
  This library is free software; you can redistribute it and/or modify it
313
313
  under the same terms as Perl itself.
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.55';
91
+ $VERSION = '4.57';
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)
@@ -208,6 +208,7 @@ $VERSION = '4.55';
208
208
  53 => 'Canon EF-S 18-55mm f/3.5-5.6 III', #Jon Charnas
209
209
  54 => 'Canon EF-S 55-250mm f/4-5.6 IS II', #47
210
210
  60 => 'Irix 11mm f/4', #50
211
+ 63 => 'Irix 30mm F1.4 Dragonfly', #IB
211
212
  80 => 'Canon TS-E 50mm f/2.8L Macro', #42
212
213
  81 => 'Canon TS-E 90mm f/2.8L Macro', #42
213
214
  82 => 'Canon TS-E 135mm f/4L Macro', #42
@@ -599,6 +600,9 @@ $VERSION = '4.55';
599
600
  '61182.25' => 'Canon RF 100-400mm F5.6-8 IS USM + RF1.4x', #42 (NC)
600
601
  '61182.26' => 'Canon RF 100-400mm F5.6-8 IS USM + RF2x', #42 (NC)
601
602
  '61182.27' => 'Canon RF 16mm F2.8 STM', #42
603
+ '61182.28' => 'Canon RF 400mm F2.8L IS USM', #IB
604
+ '61182.29' => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
605
+ '61182.30' => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
602
606
  #'61182.xx' => 'Canon RF 100mm F2.8L MACRO IS USM',
603
607
  65535 => 'n/a',
604
608
  );
@@ -970,8 +974,8 @@ my %canonQuality = (
970
974
  4 => 'RAW',
971
975
  5 => 'Superfine',
972
976
  7 => 'CRAW', #42
973
- 130 => 'Normal Movie', #22
974
- 131 => 'Movie (2)', #PH (7DmkII 1920x1080)
977
+ 130 => 'Light (RAW)', #github#119
978
+ 131 => 'Standard (RAW)', #github#119
975
979
  );
976
980
  my %canonImageSize = (
977
981
  -1 => 'n/a',
@@ -1018,7 +1022,7 @@ my %canonWhiteBalance = (
1018
1022
  20 => 'PC Set4', #PH
1019
1023
  21 => 'PC Set5', #PH
1020
1024
  # 22 - Custom 2?
1021
- 23 => 'Auto (ambience priority)', #PH (5DS)
1025
+ 23 => 'Auto (ambience priority)', #PH (5DS) (perhaps this needs re-thinking?: forum13295)
1022
1026
  # 30 - Click White Balance?
1023
1027
  # 31 - Shot Settings?
1024
1028
  # 137 - Tungsten?
@@ -2053,6 +2057,13 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
2053
2057
  TagTable => 'Image::ExifTool::Canon::HDRInfo',
2054
2058
  }
2055
2059
  },
2060
+ 0x4026 => { #github#119
2061
+ Name => 'LogInfo',
2062
+ SubDirectory => {
2063
+ Validate => 'Image::ExifTool::Canon::Validate($dirData,$subdirStart,$size)',
2064
+ TagTable => 'Image::ExifTool::Canon::LogInfo',
2065
+ }
2066
+ },
2056
2067
  0x4028 => { #PH
2057
2068
  Name => 'AFConfig', # (AFTabInfo)
2058
2069
  SubDirectory => {
@@ -2126,6 +2137,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
2126
2137
  4 => 'Continuous, Low', #PH
2127
2138
  5 => 'Continuous, High', #PH
2128
2139
  6 => 'Silent Single', #PH
2140
+ 8 => 'Continuous, High+', #WolfgangGulcker
2129
2141
  # ref A: https://exiftool.org/forum/index.php/topic,5701.msg27843.html#msg27843
2130
2142
  9 => 'Single, Silent', #A
2131
2143
  10 => 'Continuous, Silent', #A
@@ -6789,6 +6801,9 @@ my %ciMaxFocal = (
6789
6801
  284 => 'Canon RF 100-400mm F5.6-8 IS USM + RF1.4x', #42 (NC)
6790
6802
  285 => 'Canon RF 100-400mm F5.6-8 IS USM + RF2x', #42 (NC)
6791
6803
  288 => 'Canon RF 16mm F2.8 STM', #42
6804
+ 289 => 'Canon RF 400mm F2.8L IS USM', #IB
6805
+ 290 => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
6806
+ 291 => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
6792
6807
  #xxx => 'Canon RF 100mm F2.8L MACRO IS USM',
6793
6808
  # Note: add new RF lenses to %canonLensTypes with ID 61182
6794
6809
  },
@@ -8701,6 +8716,65 @@ my %filterConv = (
8701
8716
  # 3 - maybe related to AutoImageAlign?
8702
8717
  );
8703
8718
 
8719
+ # More color information (MakerNotes tag 0x4026) (ref github issue #119)
8720
+ %Image::ExifTool::Canon::LogInfo = (
8721
+ %binaryDataAttrs,
8722
+ FORMAT => 'int32s',
8723
+ FIRST_ENTRY => 1,
8724
+ PRIORITY => 0,
8725
+ 4 => {
8726
+ Name => 'CompressionFormat',
8727
+ PrintConv => {
8728
+ 0 => 'Editing (ALL-I)',
8729
+ 1 => 'Standard (IPB)',
8730
+ 2 => 'Light (IPB)',
8731
+ 3 => 'Motion JPEG',
8732
+ 4 => 'RAW', # either Standard or Light, depending on Quality
8733
+ },
8734
+ },
8735
+ 6 => { # 0 to 7
8736
+ Name => 'Sharpness',
8737
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8738
+ },
8739
+ 7 => { # -4 to 4
8740
+ Name => 'Saturation',
8741
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8742
+ %Image::ExifTool::Exif::printParameter,
8743
+ },
8744
+ 8 => { # -4 to 4
8745
+ Name => 'ColorTone',
8746
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8747
+ %Image::ExifTool::Exif::printParameter,
8748
+ },
8749
+ 9 => {
8750
+ Name => 'ColorSpace2',
8751
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8752
+ PrintConv => {
8753
+ 0 => 'BT.709',
8754
+ 1 => 'BT.2020',
8755
+ 2 => 'CinemaGamut',
8756
+ },
8757
+ },
8758
+ 10 => {
8759
+ Name => 'ColorMatrix',
8760
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8761
+ PrintConv => {
8762
+ 0 => 'EOS Original',
8763
+ 1 => 'Neutral',
8764
+ },
8765
+ },
8766
+ 11 => {
8767
+ Name => 'CanonLogVersion', # (increases dynamic range of sensor data)
8768
+ RawConv => '$val == 0x7fffffff ? undef : $val',
8769
+ PrintConv => {
8770
+ 0 => 'OFF',
8771
+ 1 => 'CLogV1',
8772
+ 2 => 'CLogV2', # (NC)
8773
+ 3 => 'CLogV3',
8774
+ },
8775
+ },
8776
+ );
8777
+
8704
8778
  # AF configuration info (MakerNotes tag 0x4028) (ref PH)
8705
8779
  %Image::ExifTool::Canon::AFConfig = (
8706
8780
  %binaryDataAttrs,
@@ -10064,7 +10138,7 @@ Canon maker notes in EXIF information.
10064
10138
 
10065
10139
  =head1 AUTHOR
10066
10140
 
10067
- Copyright 2003-2021, Phil Harvey (philharvey66 at gmail.com)
10141
+ Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
10068
10142
 
10069
10143
  This library is free software; you can redistribute it and/or modify it
10070
10144
  under the same terms as Perl itself.