exiftool_vendored 13.04.0 → 13.08.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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +48 -0
  3. data/bin/MANIFEST +1 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +2 -2
  7. data/bin/exiftool +30 -23
  8. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  9. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  10. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  11. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
  12. data/bin/lib/Image/ExifTool/Canon.pm +19 -1
  13. data/bin/lib/Image/ExifTool/DJI.pm +91 -29
  14. data/bin/lib/Image/ExifTool/Exif.pm +2 -2
  15. data/bin/lib/Image/ExifTool/FITS.pm +2 -2
  16. data/bin/lib/Image/ExifTool/FLIF.pm +2 -2
  17. data/bin/lib/Image/ExifTool/FlashPix.pm +11 -11
  18. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  19. data/bin/lib/Image/ExifTool/Geolocation.pm +2 -1
  20. data/bin/lib/Image/ExifTool/GoPro.pm +3 -3
  21. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  22. data/bin/lib/Image/ExifTool/ID3.pm +3 -3
  23. data/bin/lib/Image/ExifTool/IPTC.pm +2 -2
  24. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  25. data/bin/lib/Image/ExifTool/JPEG.pm +19 -4
  26. data/bin/lib/Image/ExifTool/Jpeg2000.pm +6 -6
  27. data/bin/lib/Image/ExifTool/M2TS.pm +39 -9
  28. data/bin/lib/Image/ExifTool/MXF.pm +2 -2
  29. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  31. data/bin/lib/Image/ExifTool/PDF.pm +15 -15
  32. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  33. data/bin/lib/Image/ExifTool/PNG.pm +4 -4
  34. data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
  35. data/bin/lib/Image/ExifTool/PhaseOne.pm +3 -3
  36. data/bin/lib/Image/ExifTool/Photoshop.pm +63 -3
  37. data/bin/lib/Image/ExifTool/Protobuf.pm +242 -0
  38. data/bin/lib/Image/ExifTool/QuickTime.pm +23 -14
  39. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +395 -109
  40. data/bin/lib/Image/ExifTool/README +4 -1
  41. data/bin/lib/Image/ExifTool/RIFF.pm +3 -3
  42. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
  44. data/bin/lib/Image/ExifTool/Sony.pm +4 -3
  45. data/bin/lib/Image/ExifTool/TagInfoXML.pm +4 -3
  46. data/bin/lib/Image/ExifTool/TagLookup.pm +6988 -6967
  47. data/bin/lib/Image/ExifTool/TagNames.pod +85 -5
  48. data/bin/lib/Image/ExifTool/VCard.pm +2 -2
  49. data/bin/lib/Image/ExifTool/Validate.pm +3 -3
  50. data/bin/lib/Image/ExifTool/WriteExif.pl +2 -2
  51. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -4
  52. data/bin/lib/Image/ExifTool/WriteXMP.pl +2 -2
  53. data/bin/lib/Image/ExifTool/Writer.pl +17 -17
  54. data/bin/lib/Image/ExifTool/XMP.pm +20 -10
  55. data/bin/lib/Image/ExifTool/XMP2.pl +38 -0
  56. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  57. data/bin/lib/Image/ExifTool.pm +109 -82
  58. data/bin/lib/Image/ExifTool.pod +8 -7
  59. data/bin/perl-Image-ExifTool.spec +1 -1
  60. data/lib/exiftool_vendored/version.rb +1 -1
  61. metadata +3 -2
@@ -209,7 +209,7 @@ key:
209
209
  name documentation. When this is set, numerical TagID's are
210
210
  not converted to hexadecimal notation. Unless otherwise set,
211
211
  an ID_LABEL of "Index" is assumed for tables which use
212
- ProcessBinaryData.
212
+ ProcessBinaryData or set the IS_BINARY flag.
213
213
 
214
214
  NO_ID Avoid printing "Tag ID" column in tag name documentation.
215
215
 
@@ -257,6 +257,9 @@ key:
257
257
  ALLOW_REPROCESS Flag to allow reprocessing of another directory at this
258
258
  same location in the file, bypassing recursion avoidance test.
259
259
 
260
+ IS_BINARY Set if this is a binary table and should show an Index in the
261
+ first column instead of a Tag ID.
262
+
260
263
  DATAMEMBER : BinaryData tables only. A reference to a list of sorted tag ID's
261
264
  which must be extracted as data members when writing. Must also list "var_"
262
265
  format tags and tags with Hook so offsets are properly calculated if the table
@@ -1126,7 +1126,7 @@ my %code2charset = (
1126
1126
  Name => 'TextFormat',
1127
1127
  Condition => '$$self{RIFFStreamType} eq "txts"',
1128
1128
  Hidden => 1,
1129
- RawConv => '$self->Options("ExtractEmbedded") or $self->WarnOnce("Use ExtractEmbedded option to extract timed text",3); undef',
1129
+ RawConv => '$self->Options("ExtractEmbedded") or $self->Warn("Use ExtractEmbedded option to extract timed text",3); undef',
1130
1130
  },
1131
1131
  ],
1132
1132
  );
@@ -2053,7 +2053,7 @@ sub ProcessRIFF($$)
2053
2053
  last;
2054
2054
  }
2055
2055
  if ($et->Options('LargeFileSupport') eq '2') {
2056
- $et->WarnOnce('Processing large chunk (LargeFileSupport is 2)');
2056
+ $et->Warn('Processing large chunk (LargeFileSupport is 2)');
2057
2057
  }
2058
2058
  }
2059
2059
  if ($validate) {
@@ -2176,7 +2176,7 @@ sub ProcessRIFF($$)
2176
2176
  last;
2177
2177
  }
2178
2178
  if ($et->Options('LargeFileSupport') eq '2') {
2179
- $et->WarnOnce('Processing large chunk (LargeFileSupport is 2)');
2179
+ $et->Warn('Processing large chunk (LargeFileSupport is 2)');
2180
2180
  }
2181
2181
  }
2182
2182
  if ($validate and $len2) {
@@ -182,7 +182,7 @@ sub UnescapeRTF($$$)
182
182
  $skip = $2;
183
183
  } elsif ($1 eq 'u') { # \uN
184
184
  if ($2 < 0) {
185
- $et->WarnOnce('Invalid Unicode character(s) in text');
185
+ $et->Warn('Invalid Unicode character(s) in text');
186
186
  $rtnVal .= '?';
187
187
  } else {
188
188
  require Image::ExifTool::Charset;
@@ -1008,7 +1008,7 @@ sub ProcessRicohRDT($$$)
1008
1008
  return 0 if $dirLen < 16;
1009
1009
  my $ee = $et->Options('ExtractEmbedded');
1010
1010
  unless ($ee) {
1011
- $et->WarnOnce('Use ExtractEmbedded option to read Ricoh real-time metadata',3);
1011
+ $et->Warn('Use ExtractEmbedded option to read Ricoh real-time metadata',3);
1012
1012
  return 1;
1013
1013
  }
1014
1014
  my $endian = substr($$dataPt, 8, 2);
@@ -1017,11 +1017,11 @@ sub ProcessRicohRDT($$$)
1017
1017
  my $len = Get16u($dataPt, 6);
1018
1018
  if ($dirName eq 'RicohRDTG') {
1019
1019
  if ($ee < 2) {
1020
- $et->WarnOnce('Set ExtractEmbedded option to 2 or higher to extract frame timestamps',3);
1020
+ $et->Warn('Set ExtractEmbedded option to 2 or higher to extract frame timestamps',3);
1021
1021
  return 1;
1022
1022
  }
1023
1023
  $rdtg = 0;
1024
- $et->WarnOnce('Unexpected RDTG record length') if $len > 8;
1024
+ $et->Warn('Unexpected RDTG record length') if $len > 8;
1025
1025
  }
1026
1026
  if ($count * $len + 16 > $dirLen) {
1027
1027
  $et->Warn("Truncated $dirName data");
@@ -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.70';
37
+ $VERSION = '3.71';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -2166,6 +2166,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
2166
2166
  397 => 'ILCE-7CM2', #JR
2167
2167
  398 => 'ILX-LR1', #JR
2168
2168
  399 => 'ZV-E10M2', #JR
2169
+ 400 => 'ILCE-1M2', #PH
2169
2170
  },
2170
2171
  },
2171
2172
  0xb020 => { #2
@@ -11376,7 +11377,7 @@ sub ProcessEnciphered($$$)
11376
11377
  Decipher(\$data);
11377
11378
  if ($$et{DoubleCipher}) {
11378
11379
  Decipher(\$data);
11379
- $et->WarnOnce('Some Sony metadata is double-enciphered. Write any tag to fix',1);
11380
+ $et->Warn('Some Sony metadata is double-enciphered. Write any tag to fix',1);
11380
11381
  }
11381
11382
  if ($et->Options('Verbose') > 2) {
11382
11383
  my $tagInfo = $$dirInfo{TagInfo} || { Name => 'data' };
@@ -11408,7 +11409,7 @@ sub WriteEnciphered($$$)
11408
11409
  if ($$et{DoubleCipher}) {
11409
11410
  Decipher(\$data);
11410
11411
  ++$$et{CHANGED};
11411
- $et->WarnOnce('Fixed double-enciphered Sony metadata',1);
11412
+ $et->Warn('Fixed double-enciphered Sony metadata',1);
11412
11413
  }
11413
11414
  my %dirInfo = (
11414
11415
  %$dirInfo,
@@ -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.36';
18
+ $VERSION = '1.37';
19
19
  @ISA = qw(Exporter);
20
20
 
21
21
  # set this to a language code to generate Lang module with 'MISSING' entries
@@ -158,6 +158,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
158
158
  my $writable = $format ? 'true' : 'false';
159
159
  # check our conversions to make sure we can really write this tag
160
160
  if ($writable eq 'true') {
161
+ $writable = 'false' if defined $$tagInfo{Writable} and not $$tagInfo{Writable};
161
162
  foreach ('PrintConv','ValueConv') {
162
163
  next unless $$tagInfo{$_};
163
164
  next if $$tagInfo{$_ . 'Inv'};
@@ -167,7 +168,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
167
168
  last;
168
169
  }
169
170
  }
170
- $format = $$tagInfo{Format} || $$table{FORMAT} if not defined $format or $format eq '1';
171
+ $format = $$tagInfo{Format} || $$table{FORMAT} if not $format or $format eq '1';
171
172
  $format = 'struct' if $$tagInfo{Struct};
172
173
  if (defined $format) {
173
174
  $format =~ s/\[.*\$.*\]//; # remove expressions from format
@@ -258,7 +259,7 @@ PTILoop: for ($index=0; $index<@infoArray; ++$index) {
258
259
  # add bitmask values to main lookup
259
260
  if ($$conv{BITMASK}) {
260
261
  foreach $key (keys %{$$conv{BITMASK}}) {
261
- my $mask = 0x01 << $key;
262
+ my $mask = "Bit$key";
262
263
  next if not $mask or $$conv{$mask};
263
264
  $$conv{$mask} = $$conv{BITMASK}{$key};
264
265
  }