exiftool-vendored.exe 13.16.0 → 13.25.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 (49) hide show
  1. package/bin/README.txt +14 -14
  2. package/bin/exiftool.exe +0 -0
  3. package/bin/exiftool_files/exiftool.pl +118 -47
  4. package/bin/exiftool_files/lib/Image/ExifTool/Apple.pm +12 -2
  5. package/bin/exiftool_files/lib/Image/ExifTool/BuildTagLookup.pm +16 -10
  6. package/bin/exiftool_files/lib/Image/ExifTool/Canon.pm +3 -2
  7. package/bin/exiftool_files/lib/Image/ExifTool/CanonRaw.pm +1 -1
  8. package/bin/exiftool_files/lib/Image/ExifTool/DJI.pm +190 -29
  9. package/bin/exiftool_files/lib/Image/ExifTool/DarwinCore.pm +22 -11
  10. package/bin/exiftool_files/lib/Image/ExifTool/EXE.pm +2 -9
  11. package/bin/exiftool_files/lib/Image/ExifTool/GM.pm +1 -1
  12. package/bin/exiftool_files/lib/Image/ExifTool/GPS.pm +3 -3
  13. package/bin/exiftool_files/lib/Image/ExifTool/Geolocation.dat +0 -0
  14. package/bin/exiftool_files/lib/Image/ExifTool/GoPro.pm +86 -48
  15. package/bin/exiftool_files/lib/Image/ExifTool/ICO.pm +2 -2
  16. package/bin/exiftool_files/lib/Image/ExifTool/JPEG.pm +12 -2
  17. package/bin/exiftool_files/lib/Image/ExifTool/JSON.pm +5 -1
  18. package/bin/exiftool_files/lib/Image/ExifTool/Kodak.pm +3 -2
  19. package/bin/exiftool_files/lib/Image/ExifTool/Nikon.pm +1003 -1399
  20. package/bin/exiftool_files/lib/Image/ExifTool/NikonCustom.pm +4 -4
  21. package/bin/exiftool_files/lib/Image/ExifTool/Olympus.pm +2 -1
  22. package/bin/exiftool_files/lib/Image/ExifTool/PCAP.pm +462 -0
  23. package/bin/exiftool_files/lib/Image/ExifTool/PDF.pm +10 -1
  24. package/bin/exiftool_files/lib/Image/ExifTool/PLIST.pm +92 -29
  25. package/bin/exiftool_files/lib/Image/ExifTool/PNG.pm +7 -1
  26. package/bin/exiftool_files/lib/Image/ExifTool/Photoshop.pm +2 -2
  27. package/bin/exiftool_files/lib/Image/ExifTool/Plot.pm +713 -0
  28. package/bin/exiftool_files/lib/Image/ExifTool/Protobuf.pm +24 -11
  29. package/bin/exiftool_files/lib/Image/ExifTool/Qualcomm.pm +78 -1
  30. package/bin/exiftool_files/lib/Image/ExifTool/QuickTime.pm +348 -318
  31. package/bin/exiftool_files/lib/Image/ExifTool/QuickTimeStream.pl +75 -27
  32. package/bin/exiftool_files/lib/Image/ExifTool/Samsung.pm +4 -0
  33. package/bin/exiftool_files/lib/Image/ExifTool/Sony.pm +34 -15
  34. package/bin/exiftool_files/lib/Image/ExifTool/TagLookup.pm +5061 -4967
  35. package/bin/exiftool_files/lib/Image/ExifTool/TagNames.pod +8302 -8160
  36. package/bin/exiftool_files/lib/Image/ExifTool/Trailer.pm +318 -0
  37. package/bin/exiftool_files/lib/Image/ExifTool/Validate.pm +4 -4
  38. package/bin/exiftool_files/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  39. package/bin/exiftool_files/lib/Image/ExifTool/WriteExif.pl +9 -4
  40. package/bin/exiftool_files/lib/Image/ExifTool/WritePDF.pl +1 -1
  41. package/bin/exiftool_files/lib/Image/ExifTool/WriteQuickTime.pl +62 -5
  42. package/bin/exiftool_files/lib/Image/ExifTool/Writer.pl +14 -13
  43. package/bin/exiftool_files/lib/Image/ExifTool/XMP.pm +34 -6
  44. package/bin/exiftool_files/lib/Image/ExifTool/XMP2.pl +5 -2
  45. package/bin/exiftool_files/lib/Image/ExifTool.pm +193 -92
  46. package/bin/exiftool_files/lib/Image/ExifTool.pod +121 -124
  47. package/bin/exiftool_files/windows_exiftool.txt +95 -71
  48. package/package.json +4 -4
  49. package/bin/exiftool_files/lib/Image/ExifTool/Vivo.pm +0 -124
@@ -1,124 +0,0 @@
1
- #------------------------------------------------------------------------------
2
- # File: Vivo.pm
3
- #
4
- # Description: Read trailer written by Vivo phones
5
- #
6
- # Revisions: 2025-01-13 - P. Harvey Created
7
- #------------------------------------------------------------------------------
8
-
9
- package Image::ExifTool::Vivo;
10
-
11
- use strict;
12
- use vars qw($VERSION);
13
- use Image::ExifTool qw(:DataAccess :Utils);
14
- use Image::ExifTool::XMP;
15
-
16
- $VERSION = '1.00';
17
-
18
- %Image::ExifTool::Vivo::Main = (
19
- GROUPS => { 0 => 'Trailer', 1 => 'Vivo', 2 => 'Image' },
20
- VARS => { NO_ID => 1 },
21
- NOTES => 'Proprietary information written by some Vivo phones.',
22
- # (don't know for sure what type of image this is, but it is in JPEG format)
23
- HDRImage => {
24
- Notes => 'highlights of HDR image',
25
- Groups => { 2 => 'Preview' },
26
- Binary => 1,
27
- },
28
- JSONInfo => { },
29
- HiddenData => {
30
- Notes => 'hidden in EXIF, not in trailer. This data is lost if the file is edited',
31
- Groups => { 0 => 'EXIF' },
32
- },
33
- );
34
-
35
- #------------------------------------------------------------------------------
36
- # Process Vivo trailer
37
- # Inputs: 0) ExifTool object reference, 1) dirInfo reference
38
- # Returns: 1 on success, -1 if we must scan for the start of the trailer
39
- # - takes Offset as positive offset from end of trailer to end of file,
40
- # and returns DataPos and DirLen, and updates OutFile when writing
41
- sub ProcessVivo($$)
42
- {
43
- my ($et, $dirInfo) = @_;
44
- my $raf = $$dirInfo{RAF};
45
- my $buff;
46
-
47
- # return now unless we are at a position to scan for the trailer
48
- # (must scan because the trailer footer doesn't indicate the trailer length)
49
- return -1 unless $$dirInfo{ScanForTrailer};
50
-
51
- my $pos = $raf->Tell();
52
- $raf->Seek(0, 2) or return 0;
53
- my $len = $raf->Tell() - $pos - $$dirInfo{Offset};
54
- $raf->Seek($pos, 0) or return 0;
55
- return 0 unless $len > 0 and $len < 1e7 and $raf->Read($buff, $len) == $len and
56
- $buff =~ /\xff{4}\x1b\*9HWfu\x84\x93\xa2\xb1$/ and # validate footer
57
- $buff =~ /(streamdata|vivo\{")/g; # find start
58
- my $start = pos($buff) - length($1);
59
- if ($start) {
60
- $pos += $start;
61
- $len -= $start;
62
- $buff = substr($buff, $start);
63
- }
64
- # set trailer position and length
65
- @$dirInfo{'DataPos','DirLen'} = ($pos, $len);
66
-
67
- if ($$dirInfo{OutFile}) {
68
- if ($$et{DEL_GROUP}{Vivo}) {
69
- $et->VPrint(0, " Deleting Vivo trailer ($len bytes)\n");
70
- ++$$et{CHANGED};
71
- } else {
72
- $et->VPrint(0, " Copying Vivo trailer ($len bytes)\n");
73
- Write($$dirInfo{OutFile}, $buff);
74
- }
75
- } else {
76
- $et->DumpTrailer($dirInfo) if $$et{OPTIONS}{Verbose} or $$et{HTML_DUMP};
77
- my $tbl = GetTagTable('Image::ExifTool::Vivo::Main');
78
- pos($buff) = 0; # rewind search to start of buffer
79
- if ($buff =~ /^streamdata\xff\xd8\xff/ and $buff =~ /\xff\xd9stream(info|coun)/g) {
80
- $et->HandleTag($tbl, HDRImage => substr($buff, 10, pos($buff)-20));
81
- }
82
- # continue looking for Vivo JSON data
83
- if ($buff =~ /vivo\{"/g) {
84
- my $jsonStart = pos($buff) - 2;
85
- if ($buff =~ /\}\0/g) {
86
- my $jsonLen = pos($buff) - 1 - $jsonStart;
87
- $et->HandleTag($tbl, JSONInfo => substr($buff, $jsonStart, $jsonLen));
88
- }
89
- }
90
- }
91
- return 1;
92
- }
93
-
94
- 1; # end
95
-
96
- __END__
97
-
98
- =head1 NAME
99
-
100
- Image::ExifTool::Vivo - Read trailer written by Vivo phones
101
-
102
- =head1 SYNOPSIS
103
-
104
- This module is used by Image::ExifTool
105
-
106
- =head1 DESCRIPTION
107
-
108
- This module contains definitions required by Image::ExifTool to read
109
- metadata the trailer written by some Vivo phones.
110
-
111
- =head1 AUTHOR
112
-
113
- Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
114
-
115
- This library is free software; you can redistribute it and/or modify it
116
- under the same terms as Perl itself.
117
-
118
- =head1 SEE ALSO
119
-
120
- L<Image::ExifTool::TagNames/Vivo Tags>,
121
- L<Image::ExifTool(3pm)|Image::ExifTool>
122
-
123
- =cut
124
-