exiftool_vendored 11.97.0 → 12.09.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +196 -2
  3. data/bin/MANIFEST +8 -0
  4. data/bin/META.json +1 -1
  5. data/bin/META.yml +1 -1
  6. data/bin/README +43 -42
  7. data/bin/exiftool +150 -102
  8. data/bin/lib/Image/ExifTool.pm +162 -111
  9. data/bin/lib/Image/ExifTool.pod +123 -90
  10. data/bin/lib/Image/ExifTool/AIFF.pm +2 -2
  11. data/bin/lib/Image/ExifTool/APE.pm +2 -2
  12. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +21 -10
  13. data/bin/lib/Image/ExifTool/Canon.pm +201 -14
  14. data/bin/lib/Image/ExifTool/CanonCustom.pm +82 -16
  15. data/bin/lib/Image/ExifTool/DPX.pm +56 -2
  16. data/bin/lib/Image/ExifTool/DarwinCore.pm +22 -3
  17. data/bin/lib/Image/ExifTool/EXE.pm +8 -5
  18. data/bin/lib/Image/ExifTool/Exif.pm +15 -6
  19. data/bin/lib/Image/ExifTool/Font.pm +9 -2
  20. data/bin/lib/Image/ExifTool/GIF.pm +6 -1
  21. data/bin/lib/Image/ExifTool/GeoTiff.pm +2 -0
  22. data/bin/lib/Image/ExifTool/Geotag.pm +2 -2
  23. data/bin/lib/Image/ExifTool/GoPro.pm +48 -22
  24. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  25. data/bin/lib/Image/ExifTool/HtmlDump.pm +2 -2
  26. data/bin/lib/Image/ExifTool/ID3.pm +91 -12
  27. data/bin/lib/Image/ExifTool/IPTC.pm +1 -0
  28. data/bin/lib/Image/ExifTool/JSON.pm +27 -4
  29. data/bin/lib/Image/ExifTool/Lang/de.pm +3 -1
  30. data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  31. data/bin/lib/Image/ExifTool/M2TS.pm +44 -24
  32. data/bin/lib/Image/ExifTool/MacOS.pm +152 -38
  33. data/bin/lib/Image/ExifTool/Matroska.pm +3 -1
  34. data/bin/lib/Image/ExifTool/Minolta.pm +7 -2
  35. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +11 -10
  36. data/bin/lib/Image/ExifTool/Nikon.pm +163 -18
  37. data/bin/lib/Image/ExifTool/Olympus.pm +39 -17
  38. data/bin/lib/Image/ExifTool/PNG.pm +14 -3
  39. data/bin/lib/Image/ExifTool/PPM.pm +5 -5
  40. data/bin/lib/Image/ExifTool/Panasonic.pm +148 -14
  41. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +34 -0
  42. data/bin/lib/Image/ExifTool/Parrot.pm +2 -1
  43. data/bin/lib/Image/ExifTool/Pentax.pm +3 -1
  44. data/bin/lib/Image/ExifTool/Photoshop.pm +2 -1
  45. data/bin/lib/Image/ExifTool/QuickTime.pm +294 -34
  46. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +419 -60
  47. data/bin/lib/Image/ExifTool/README +26 -22
  48. data/bin/lib/Image/ExifTool/RIFF.pm +15 -3
  49. data/bin/lib/Image/ExifTool/RSRC.pm +17 -11
  50. data/bin/lib/Image/ExifTool/RTF.pm +12 -7
  51. data/bin/lib/Image/ExifTool/Radiance.pm +7 -2
  52. data/bin/lib/Image/ExifTool/Ricoh.pm +19 -1
  53. data/bin/lib/Image/ExifTool/Shift.pl +1 -0
  54. data/bin/lib/Image/ExifTool/SigmaRaw.pm +40 -33
  55. data/bin/lib/Image/ExifTool/Sony.pm +420 -34
  56. data/bin/lib/Image/ExifTool/TagLookup.pm +5799 -5671
  57. data/bin/lib/Image/ExifTool/TagNames.pod +583 -95
  58. data/bin/lib/Image/ExifTool/Validate.pm +4 -4
  59. data/bin/lib/Image/ExifTool/WriteExif.pl +3 -2
  60. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +26 -18
  61. data/bin/lib/Image/ExifTool/Writer.pl +44 -21
  62. data/bin/lib/Image/ExifTool/XMP.pm +99 -17
  63. data/bin/lib/Image/ExifTool/XMPStruct.pl +3 -1
  64. data/bin/lib/Image/ExifTool/ZISRAW.pm +123 -0
  65. data/bin/perl-Image-ExifTool.spec +42 -41
  66. data/lib/exiftool_vendored/version.rb +1 -1
  67. metadata +8 -7
@@ -519,6 +519,7 @@ sub AddNewStruct($$$$$$)
519
519
  next unless $$fieldInfo{List};
520
520
  my $i = 0;
521
521
  my ($item, $p);
522
+ my $level = scalar(() = ($propPath =~ / \d+/g));
522
523
  # loop through all list items (note: can't yet write multi-dimensional lists)
523
524
  foreach $item (@{$val}) {
524
525
  if ($i) {
@@ -533,7 +534,8 @@ sub AddNewStruct($$$$$$)
533
534
  if (ref $item eq 'HASH') {
534
535
  my $subStruct = $$fieldInfo{Struct} or next;
535
536
  AddNewStruct($et, $tagInfo, $capture, $p, $item, $subStruct) or next;
536
- } elsif (length $item) { # don't write empty items in list
537
+ # don't write empty items in upper-level list
538
+ } elsif (length $item or (defined $item and $level == 1)) {
537
539
  AddNewTag($et, $fieldInfo, $capture, $p, \$item, \%langIdx);
538
540
  $addedTag = 1;
539
541
  }
@@ -0,0 +1,123 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: ZISRAW.pm
3
+ #
4
+ # Description: Read ZISRAW (CZI) meta information
5
+ #
6
+ # Revisions: 2020-08-07 - P. Harvey Created
7
+ #
8
+ # References: 1) https://www.zeiss.com/microscopy/us/products/microscope-software/zen/czi.html
9
+ #------------------------------------------------------------------------------
10
+
11
+ package Image::ExifTool::ZISRAW;
12
+
13
+ use strict;
14
+ use vars qw($VERSION);
15
+ use Image::ExifTool qw(:DataAccess :Utils);
16
+
17
+ $VERSION = '1.00';
18
+
19
+ %Image::ExifTool::ZISRAW::Main = (
20
+ PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData,
21
+ GROUPS => { 0 => 'File', 1 => 'File', 2 => 'Image' },
22
+ NOTES => q{
23
+ As well as the header information listed below, ExifTool also extracts the
24
+ top-level XML-based metadata from Zeiss Integrated Software RAW (ZISRAW) CZI
25
+ files.
26
+ },
27
+ 0x20 => {
28
+ Name => 'ZISRAWVersion',
29
+ Format => 'int32u[2]',
30
+ PrintConv => '$val =~ tr/ /./; $val',
31
+ },
32
+ 0x30 => {
33
+ Name => 'PrimaryFileGUID',
34
+ Format => 'undef[16]',
35
+ ValueConv => 'unpack("H*",$val)',
36
+ },
37
+ 0x40 => {
38
+ Name => 'FileGUID',
39
+ Format => 'undef[16]',
40
+ ValueConv => 'unpack("H*",$val)',
41
+ },
42
+ );
43
+
44
+ #------------------------------------------------------------------------------
45
+ # Extract metadata from a ZISRAW (CZI) image
46
+ # Inputs: 0) ExifTool object reference, 1) dirInfo reference
47
+ # Returns: 1 on success, 0 if this wasn't a valid CZI file
48
+ sub ProcessCZI($$)
49
+ {
50
+ my ($et, $dirInfo) = @_;
51
+ my $raf = $$dirInfo{RAF};
52
+ my ($buff, $tagTablePtr);
53
+
54
+ # verify this is a valid CZI file
55
+ return 0 unless $raf->Read($buff, 100) == 100;
56
+ return 0 unless $buff =~ /^ZISRAWFILE\0{6}/;
57
+ $et->SetFileType();
58
+ SetByteOrder('II');
59
+ my %dirInfo = (
60
+ DataPt => \$buff,
61
+ DirStart => 0,
62
+ DirLen => length($buff),
63
+ );
64
+ $tagTablePtr = GetTagTable('Image::ExifTool::ZISRAW::Main');
65
+ $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
66
+
67
+ # read the metadata section
68
+ my $pos = Get64u(\$buff, 92) or return 1;
69
+ $raf->Seek($pos, 0) or $et->Warn('Error seeking to metadata'), return 0;
70
+ $raf->Read($buff, 288) == 288 or $et->Warn('Error reading metadata header'), return 0;
71
+ $buff =~ /^ZISRAWMETADATA\0\0/ or $et->Warn('Invalid metadata header'), return 0;
72
+ my $len = Get32u(\$buff, 32);
73
+ $len < 200000000 or $et->Warn('Metadata section too large. Ignoring'), return 0;
74
+ $raf->Read($buff, $len) or $et->Warn('Error reading XML metadata'), return 0;
75
+ $et->FoundTag('XML', $buff); # extract as a block
76
+ $tagTablePtr = GetTagTable('Image::ExifTool::XMP::XML');
77
+ $dirInfo{DirLen} = length $buff;
78
+ # shorten tag names somewhat by removing 'ImageDocumentMetadata' prefix from all
79
+ $$et{XmpIgnoreProps} = [ 'ImageDocument', 'Metadata' ];
80
+ $et->ProcessDirectory(\%dirInfo, $tagTablePtr);
81
+
82
+ return 1;
83
+ }
84
+
85
+ 1; # end
86
+
87
+ __END__
88
+
89
+ =head1 NAME
90
+
91
+ Image::ExifTool::ZISRAW - Read ZISRAW (CZI) meta information
92
+
93
+ =head1 SYNOPSIS
94
+
95
+ This module is used by Image::ExifTool
96
+
97
+ =head1 DESCRIPTION
98
+
99
+ This module contains definitions required by Image::ExifTool to read
100
+ metadata from Zeiss Integrated Software RAW (ZISRAW) CZI files.
101
+
102
+ =head1 AUTHOR
103
+
104
+ Copyright 2003-2020, Phil Harvey (philharvey66 at gmail.com)
105
+
106
+ This library is free software; you can redistribute it and/or modify it
107
+ under the same terms as Perl itself.
108
+
109
+ =head1 REFERENCES
110
+
111
+ =over 4
112
+
113
+ =item L<https://www.zeiss.com/microscopy/us/products/microscope-software/zen/czi.html>
114
+
115
+ =back
116
+
117
+ =head1 SEE ALSO
118
+
119
+ L<Image::ExifTool::TagNames/ZISRAW Tags>,
120
+ L<Image::ExifTool(3pm)|Image::ExifTool>
121
+
122
+ =cut
123
+
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.97
3
+ Version: 12.09
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -22,46 +22,47 @@ supported by ExifTool (r = read, w = write, c = create):
22
22
 
23
23
  File Types
24
24
  ------------+-------------+-------------+-------------+------------
25
- 3FR r | DR4 r/w/c | ITC r | ODP r | RIFF r
26
- 3G2 r/w | DSS r | J2C r | ODS r | RSRC r
27
- 3GP r/w | DV r | JNG r/w | ODT r | RTF r
28
- A r | DVB r/w | JP2 r/w | OFR r | RW2 r/w
29
- AA r | DVR-MS r | JPEG r/w | OGG r | RWL r/w
30
- AAE r | DYLIB r | JSON r | OGV r | RWZ r
31
- AAX r/w | EIP r | K25 r | OPUS r | RM r
32
- ACR r | EPS r/w | KDC r | ORF r/w | SEQ r
33
- AFM r | EPUB r | KEY r | OTF r | SKETCH r
34
- AI r/w | ERF r/w | LA r | PAC r | SO r
35
- AIFF r | EXE r | LFP r | PAGES r | SR2 r/w
36
- APE r | EXIF r/w/c | LNK r | PBM r/w | SRF r
37
- ARQ r/w | EXR r | LRV r/w | PCD r | SRW r/w
38
- ARW r/w | EXV r/w/c | M2TS r | PCX r | SVG r
39
- ASF r | F4A/V r/w | M4A/V r/w | PDB r | SWF r
40
- AVI r | FFF r/w | MAX r | PDF r/w | THM r/w
41
- AVIF r/w | FITS r | MEF r/w | PEF r/w | TIFF r/w
42
- AZW r | FLA r | MIE r/w/c | PFA r | TORRENT r
43
- BMP r | FLAC r | MIFF r | PFB r | TTC r
44
- BPG r | FLIF r/w | MKA r | PFM r | TTF r
45
- BTF r | FLV r | MKS r | PGF r | TXT r
46
- CHM r | FPF r | MKV r | PGM r/w | VCF r
47
- COS r | FPX r | MNG r/w | PLIST r | VRD r/w/c
48
- CR2 r/w | GIF r/w | MOBI r | PICT r | VSD r
49
- CR3 r/w | GPR r/w | MODD r | PMP r | WAV r
50
- CRM r/w | GZ r | MOI r | PNG r/w | WDP r/w
51
- CRW r/w | HDP r/w | MOS r/w | PPM r/w | WEBP r
52
- CS1 r/w | HDR r | MOV r/w | PPT r | WEBM r
53
- CSV r | HEIC r/w | MP3 r | PPTX r | WMA r
54
- DCM r | HEIF r/w | MP4 r/w | PS r/w | WMV r
55
- DCP r/w | HTML r | MPC r | PSB r/w | WTV r
56
- DCR r | ICC r/w/c | MPG r | PSD r/w | WV r
57
- DFONT r | ICS r | MPO r/w | PSP r | X3F r/w
58
- DIVX r | IDML r | MQV r/w | QTIF r/w | XCF r
59
- DJVU r | IIQ r/w | MRW r/w | R3D r | XLS r
60
- DLL r | IND r/w | MXF r | RA r | XLSX r
61
- DNG r/w | INSP r/w | NEF r/w | RAF r/w | XMP r/w/c
62
- DOC r | INSV r | NRW r/w | RAM r | ZIP r
63
- DOCX r | INX r | NUMBERS r | RAR r |
64
- DPX r | ISO r | O r | RAW r/w |
25
+ 360 r/w | DPX r | ITC r | ODP r | RIFF r
26
+ 3FR r | DR4 r/w/c | J2C r | ODS r | RSRC r
27
+ 3G2 r/w | DSS r | JNG r/w | ODT r | RTF r
28
+ 3GP r/w | DV r | JP2 r/w | OFR r | RW2 r/w
29
+ A r | DVB r/w | JPEG r/w | OGG r | RWL r/w
30
+ AA r | DVR-MS r | JSON r | OGV r | RWZ r
31
+ AAE r | DYLIB r | K25 r | ONP r | RM r
32
+ AAX r/w | EIP r | KDC r | OPUS r | SEQ r
33
+ ACR r | EPS r/w | KEY r | ORF r/w | SKETCH r
34
+ AFM r | EPUB r | LA r | OTF r | SO r
35
+ AI r/w | ERF r/w | LFP r | PAC r | SR2 r/w
36
+ AIFF r | EXE r | LNK r | PAGES r | SRF r
37
+ APE r | EXIF r/w/c | LRV r/w | PBM r/w | SRW r/w
38
+ ARQ r/w | EXR r | M2TS r | PCD r | SVG r
39
+ ARW r/w | EXV r/w/c | M4A/V r/w | PCX r | SWF r
40
+ ASF r | F4A/V r/w | MACOS r | PDB r | THM r/w
41
+ AVI r | FFF r/w | MAX r | PDF r/w | TIFF r/w
42
+ AVIF r/w | FITS r | MEF r/w | PEF r/w | TORRENT r
43
+ AZW r | FLA r | MIE r/w/c | PFA r | TTC r
44
+ BMP r | FLAC r | MIFF r | PFB r | TTF r
45
+ BPG r | FLIF r/w | MKA r | PFM r | TXT r
46
+ BTF r | FLV r | MKS r | PGF r | VCF r
47
+ CHM r | FPF r | MKV r | PGM r/w | VRD r/w/c
48
+ COS r | FPX r | MNG r/w | PLIST r | VSD r
49
+ CR2 r/w | GIF r/w | MOBI r | PICT r | WAV r
50
+ CR3 r/w | GPR r/w | MODD r | PMP r | WDP r/w
51
+ CRM r/w | GZ r | MOI r | PNG r/w | WEBP r
52
+ CRW r/w | HDP r/w | MOS r/w | PPM r/w | WEBM r
53
+ CS1 r/w | HDR r | MOV r/w | PPT r | WMA r
54
+ CSV r | HEIC r/w | MP3 r | PPTX r | WMV r
55
+ CZI r | HEIF r/w | MP4 r/w | PS r/w | WTV r
56
+ DCM r | HTML r | MPC r | PSB r/w | WV r
57
+ DCP r/w | ICC r/w/c | MPG r | PSD r/w | X3F r/w
58
+ DCR r | ICS r | MPO r/w | PSP r | XCF r
59
+ DFONT r | IDML r | MQV r/w | QTIF r/w | XLS r
60
+ DIVX r | IIQ r/w | MRW r/w | R3D r | XLSX r
61
+ DJVU r | IND r/w | MXF r | RA r | XMP r/w/c
62
+ DLL r | INSP r/w | NEF r/w | RAF r/w | ZIP r
63
+ DNG r/w | INSV r | NRW r/w | RAM r |
64
+ DOC r | INX r | NUMBERS r | RAR r |
65
+ DOCX r | ISO r | O r | RAW r/w |
65
66
 
66
67
  Meta Information
67
68
  ----------------------+----------------------+---------------------
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('11.97.0')
4
+ VERSION = Gem::Version.new('12.09.0')
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exiftool_vendored
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.97.0
4
+ version: 12.09.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-04-28 00:00:00.000000000 Z
12
+ date: 2020-10-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool
@@ -127,16 +127,16 @@ dependencies:
127
127
  name: simplecov
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
- - - ">="
130
+ - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '0'
132
+ version: 0.17.1
133
133
  type: :development
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
- - - ">="
137
+ - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '0'
139
+ version: 0.17.1
140
140
  - !ruby/object:Gem::Dependency
141
141
  name: simplecov-console
142
142
  requirement: !ruby/object:Gem::Requirement
@@ -426,6 +426,7 @@ files:
426
426
  - bin/lib/Image/ExifTool/XMP2.pl
427
427
  - bin/lib/Image/ExifTool/XMPStruct.pl
428
428
  - bin/lib/Image/ExifTool/ZIP.pm
429
+ - bin/lib/Image/ExifTool/ZISRAW.pm
429
430
  - bin/lib/Image/ExifTool/iWork.pm
430
431
  - bin/perl-Image-ExifTool.spec
431
432
  - lib/exiftool_vendored.rb
@@ -443,7 +444,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
443
444
  requirements:
444
445
  - - ">="
445
446
  - !ruby/object:Gem::Version
446
- version: '0'
447
+ version: '2.4'
447
448
  required_rubygems_version: !ruby/object:Gem::Requirement
448
449
  requirements:
449
450
  - - ">="