exiftool_vendored 11.67.0 → 11.68.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bde7c46f693f484613c7cf4fe77dec3d59a38aef
4
- data.tar.gz: 90b28efc64aca6df9015a99c18591e3bdf0edc77
3
+ metadata.gz: 407204d50d4b6851b6efea2990fc1442469eb598
4
+ data.tar.gz: dbf9303e5efb7be48d6991ce2da256b750d51e7d
5
5
  SHA512:
6
- metadata.gz: 459ee5aa30a83cc36b44ad84cc86bfdf767c745f3707704035cde596c74b0ea7cfd7667f5529db48ea67a9d21e2483cde62c26123d82ecb071a36961f490672b
7
- data.tar.gz: 1d7f84c0ed3bc2e6ea28ff1b511e0763e8fc49342ac888df64977b7113e65246497d98e2f09b90dbaeb6e4c3a1028d92fa7ac39975b754470bf667a75d7a2e4b
6
+ metadata.gz: 3b0ae0e006a6dd37f8fe358f0a695e5c3459d04f5860539fc484431b5776c1af45edb5321dcd247cd460876f8d3cb042240ff42b0ba21fd2a69fc489f119c8b3
7
+ data.tar.gz: eea2b3eaebdef58508fc000ca2e1e4f94406ce9ca0a770aefd93b429fa9d16d4fa39ad1e321c7a35e8923ee00d8b24d98441a31cad0b79fbcf1d899a7a717e3a
data/bin/Changes CHANGED
@@ -7,6 +7,14 @@ RSS feed: http://owl.phy.queensu.ca/~phil/exiftool/rss.xml
7
7
  Note: The most recent production release is Version 11.50. (Other versions are
8
8
  considered development releases, and are not uploaded to CPAN.)
9
9
 
10
+ Oct. 1, 2019 - Version 11.68
11
+
12
+ - Added read support for yet another type of streaming GPS in MP4 videos
13
+ - Added a number of new FujiFlashMode values
14
+ - Decode a new FujiFilm tag
15
+ - Made NikonCaptureOffsets and NikonCaptureVersion deletable
16
+ - Enhanced tag name documentation to indicate deletable makernote tags
17
+
10
18
  Sept. 30, 2019 - Version 11.67
11
19
 
12
20
  - Added config_files/thinkware.config to the distribution
data/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "11.67",
50
+ "version" : "11.68",
51
51
  "x_serialization_backend" : "JSON::PP version 4.02"
52
52
  }
data/bin/META.yml CHANGED
@@ -28,5 +28,5 @@ recommends:
28
28
  Time::HiRes: '0'
29
29
  requires:
30
30
  perl: '5.004'
31
- version: '11.67'
31
+ version: '11.68'
32
32
  x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
data/bin/README CHANGED
@@ -104,8 +104,8 @@ your home directory, then you would type the following commands in a
104
104
  terminal window to extract and run ExifTool:
105
105
 
106
106
  cd ~/Desktop
107
- gzip -dc Image-ExifTool-11.67.tar.gz | tar -xf -
108
- cd Image-ExifTool-11.67
107
+ gzip -dc Image-ExifTool-11.68.tar.gz | tar -xf -
108
+ cd Image-ExifTool-11.68
109
109
  ./exiftool t/images/ExifTool.jpg
110
110
 
111
111
  Note: These commands extract meta information from one of the test images.
data/bin/exiftool CHANGED
@@ -10,7 +10,7 @@
10
10
  use strict;
11
11
  require 5.004;
12
12
 
13
- my $version = '11.67';
13
+ my $version = '11.68';
14
14
 
15
15
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
16
  my $exeDir;
@@ -5173,7 +5173,7 @@ with this command:
5173
5173
 
5174
5174
  produces output like this:
5175
5175
 
5176
- -- Generated by ExifTool 11.67 --
5176
+ -- Generated by ExifTool 11.68 --
5177
5177
  File: a.jpg - 2003:10:31 15:44:19
5178
5178
  (f/5.6, 1/60s, ISO 100)
5179
5179
  File: b.jpg - 2006:05:23 11:57:38
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
27
27
  %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
28
28
  %jpegMarker %specialTags %fileTypeLookup);
29
29
 
30
- $VERSION = '11.67';
30
+ $VERSION = '11.68';
31
31
  $RELEASE = '';
32
32
  @ISA = qw(Exporter);
33
33
  %EXPORT_TAGS = (
@@ -327,7 +327,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
327
327
  IND => ['IND', 'Adobe InDesign'],
328
328
  INDD => ['IND', 'Adobe InDesign Document'],
329
329
  INDT => ['IND', 'Adobe InDesign Template'],
330
- INSV => 'MP4',
330
+ INSV => ['MOV', 'Insta360 Video'],
331
331
  INX => ['XMP', 'Adobe InDesign Interchange'],
332
332
  ISO => ['ISO', 'ISO 9660 disk image'],
333
333
  ITC => ['ITC', 'iTunes Cover Flow'],
@@ -35,7 +35,7 @@ use Image::ExifTool::Sony;
35
35
  use Image::ExifTool::Validate;
36
36
  use Image::ExifTool::MacOS;
37
37
 
38
- $VERSION = '3.28';
38
+ $VERSION = '3.29';
39
39
  @ISA = qw(Exporter);
40
40
 
41
41
  sub NumbersFirst($$);
@@ -213,7 +213,8 @@ writable directly, but is written automatically by ExifTool (often when a
213
213
  corresponding L<Composite|Image::ExifTool::TagNames/Composite Tags> or
214
214
  L<Extra|Image::ExifTool::TagNames/Extra Tags> tag is written). A colon
215
215
  (C<:>) indicates a I<Mandatory> tag which may be added automatically when
216
- writing.
216
+ writing. Normally, makernote tags may not be deleted individually, but a
217
+ caret (C<^>) indicates a I<Deletable> makernote tag.
217
218
 
218
219
  The HTML version of these tables also lists possible B<Values> for
219
220
  discrete-valued tags, as well as B<Notes> for some tags. The B<Values> are
@@ -1265,6 +1266,11 @@ TagID: foreach $tagID (@keys) {
1265
1266
  $writable = '-' . ($tw ? $writable : '');
1266
1267
  $writable .= '!' if $tw and ($$tagInfo{Protected} || 0) & 0x01;
1267
1268
  $writable .= '+' if $$tagInfo{List};
1269
+ if (defined $$tagInfo{Permanent}) {
1270
+ $writable .= '^' unless $$tagInfo{Permanent};
1271
+ } elsif (defined $$table{PERMANENT}) {
1272
+ $writable .= '^' unless $$table{PERMANENT};
1273
+ }
1268
1274
  } else {
1269
1275
  # not writable if we can't do the inverse conversions
1270
1276
  my $noPrintConvInv;
@@ -1312,6 +1318,11 @@ TagID: foreach $tagID (@keys) {
1312
1318
  $writable .= '_' if defined $$tagInfo{Flat};
1313
1319
  $writable .= '+' if $$tagInfo{List};
1314
1320
  $writable .= ':' if $$tagInfo{Mandatory};
1321
+ if (defined $$tagInfo{Permanent}) {
1322
+ $writable .= '^' unless $$tagInfo{Permanent};
1323
+ } elsif (defined $$table{PERMANENT}) {
1324
+ $writable .= '^' unless $$table{PERMANENT};
1325
+ }
1315
1326
  # separate tables link like subdirectories (flagged with leading '-')
1316
1327
  $writable = "-$writable" if $subdir;
1317
1328
  }
@@ -2514,10 +2525,11 @@ sub WriteTagNames($$)
2514
2525
  '!' => 'Unsafe',
2515
2526
  '*' => 'Protected',
2516
2527
  ':' => 'Mandatory',
2528
+ '^' => 'Deletable',
2517
2529
  );
2518
2530
  my ($wstr, %hasAttr, @hasAttr);
2519
2531
  foreach $wstr (@$writable) {
2520
- next unless $wstr =~ m{([+/~!*:_]+)$};
2532
+ next unless $wstr =~ m{([+/~!*:_^]+)$};
2521
2533
  my @a = split //, $1;
2522
2534
  foreach (@a) {
2523
2535
  next if $hasAttr{$_};
@@ -19,6 +19,7 @@
19
19
  # 10) Albert Shan private communication
20
20
  # 11) http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,8377.0.html
21
21
  # 12) http://u88.n24.queensu.ca/exiftool/forum/index.php/topic,9607.0.html
22
+ # 13) http://u88.n24.queensu.ca/exiftool/forum/index.php/topic=10481.0.html
22
23
  # IB) Iliah Borg private communication (LibRaw)
23
24
  # JD) Jens Duttke private communication
24
25
  #------------------------------------------------------------------------------
@@ -30,7 +31,7 @@ use vars qw($VERSION);
30
31
  use Image::ExifTool qw(:DataAccess :Utils);
31
32
  use Image::ExifTool::Exif;
32
33
 
33
- $VERSION = '1.73';
34
+ $VERSION = '1.74';
34
35
 
35
36
  sub ProcessFujiDir($$$);
36
37
  sub ProcessFaceRec($$$);
@@ -263,10 +264,22 @@ my %faceCategories = (
263
264
  16 => 'Commander',
264
265
  0x8000 => 'Not Attached', #10 (X-T2) (or external flash off)
265
266
  0x8120 => 'TTL', #10 (X-T2)
267
+ 0x8320 => 'TTL Auto - Did not fire',
266
268
  0x9840 => 'Manual', #10 (X-T2)
269
+ 0x9860 => 'Flash Commander', #13
267
270
  0x9880 => 'Multi-flash', #10 (X-T2)
268
271
  0xa920 => '1st Curtain (front)', #10 (EF-X500 flash)
272
+ 0xaa20 => 'TTL Slow - 1st Curtain (front)', #13
273
+ 0xab20 => 'TTL Auto - 1st Curtain (front)', #13
274
+ 0xad20 => 'TTL - Red-eye Flash - 1st Curtain (front)', #13
275
+ 0xae20 => 'TTL Slow - Red-eye Flash - 1st Curtain (front)', #13
276
+ 0xaf20 => 'TTL Auto - Red-eye Flash - 1st Curtain (front)', #13
269
277
  0xc920 => '2nd Curtain (rear)', #10
278
+ 0xca20 => 'TTL Slow - 2nd Curtain (rear)', #13
279
+ 0xcb20 => 'TTL Auto - 2nd Curtain (rear)', #13
280
+ 0xcd20 => 'TTL - Red-eye Flash - 2nd Curtain (rear)', #13
281
+ 0xce20 => 'TTL Slow - Red-eye Flash - 2nd Curtain (rear)', #13
282
+ 0xcf20 => 'TTL Auto - Red-eye Flash - 2nd Curtain (rear)', #13
270
283
  0xe920 => 'High Speed Sync (HSS)', #10
271
284
  },
272
285
  },
@@ -639,7 +652,7 @@ my %faceCategories = (
639
652
  },
640
653
  # 0x1408 - values: '0100', 'S100', 'VQ10'
641
654
  # 0x1409 - values: same as 0x1408
642
- # 0x140a - values: 0, 1, 3, 5, 7 (bit 2=red-eye detection, ref 11)
655
+ # 0x140a - values: 0, 1, 3, 5, 7 (bit 2=red-eye detection, ref 11/13)
643
656
  0x140b => { #6
644
657
  Name => 'AutoDynamicRange',
645
658
  Writable => 'int16u',
@@ -763,6 +776,11 @@ my %faceCategories = (
763
776
  Writable => 'int16u',
764
777
  Groups => { 2 => 'Video' },
765
778
  },
779
+ 0x3824 => { #forum10480 (X-T3)
780
+ Name => 'FullHDHighSpeedRec',
781
+ Writable => 'int32u',
782
+ Groups => { 1 => 'Off', 2 => 'On' },
783
+ },
766
784
  0x4005 => { #forum9634
767
785
  Name => 'FaceElementSelected', # (could be face or eye)
768
786
  Writable => 'int16u',
@@ -2283,11 +2283,13 @@ my %binaryDataAttrs = (
2283
2283
  0x0e09 => { #12
2284
2284
  Name => 'NikonCaptureVersion',
2285
2285
  Writable => 'string',
2286
- PrintConv => undef,
2286
+ Permanent => 0,
2287
2287
  },
2288
2288
  # 0x0e0e is in D70 Nikon Capture files (not out-of-the-camera D70 files) - PH
2289
2289
  0x0e0e => { #PH
2290
2290
  Name => 'NikonCaptureOffsets',
2291
+ Writable => 'undef',
2292
+ Permanent => 0,
2291
2293
  SubDirectory => {
2292
2294
  TagTable => 'Image::ExifTool::Nikon::CaptureOffsets',
2293
2295
  Validate => '$val =~ /^0100/',
@@ -910,6 +910,23 @@ sub ProcessFreeGPS($$$)
910
910
  map { $_ = $_ - 4294967296 if $_ >= 0x80000000; $_ /= 256 } @acc;
911
911
  }
912
912
 
913
+ } elsif ($$dataPt =~ /^.{40}A([NS])([EW])/s) {
914
+
915
+ # decode freeGPS from ViofoA119v3 dashcam (similar to Novatek GPS format)
916
+ # 0000: 00 00 40 00 66 72 65 65 47 50 53 20 f0 03 00 00 [..@.freeGPS ....]
917
+ # 0010: 05 00 00 00 2f 00 00 00 03 00 00 00 13 00 00 00 [..../...........]
918
+ # 0020: 09 00 00 00 1b 00 00 00 41 4e 57 00 25 d1 99 45 [........ANW.%..E]
919
+ # 0030: f1 47 40 46 66 66 d2 41 85 eb 83 41 00 00 00 00 [.G@Fff.A...A....]
920
+ ($latRef, $lonRef) = ($1, $2);
921
+ ($hr,$min,$sec,$yr,$mon,$day) = unpack('x16V6', $$dataPt);
922
+ $yr += 2000;
923
+ SetByteOrder('II');
924
+ $lat = GetFloat($dataPt, 0x2c);
925
+ $lon = GetFloat($dataPt, 0x30);
926
+ $spd = GetFloat($dataPt, 0x34) * 1.852; # (convert knots to km/h)
927
+ $trk = GetFloat($dataPt, 0x38);
928
+ SetByteOrder('MM');
929
+
913
930
  } else {
914
931
 
915
932
  # decode binary GPS format (Viofo A119S, ref 2)
@@ -2644,6 +2644,7 @@ my %tagLookup = (
2644
2644
  'freebytes' => { 93 => 0x1 },
2645
2645
  'freememorycardimages' => { 174 => [0x37,0x54], 175 => [0x2d,0x4a], 176 => 0x32 },
2646
2646
  'fujiflashmode' => { 123 => 0x1010 },
2647
+ 'fullhdhighspeedrec' => { 123 => 0x3824 },
2647
2648
  'fullimagesize' => { 401 => 0xb02b },
2648
2649
  'fullpanoheightpixels' => { 444 => 'FullPanoHeightPixels', 445 => 'FullPanoHeightPixels' },
2649
2650
  'fullpanowidthpixels' => { 444 => 'FullPanoWidthPixels', 445 => 'FullPanoWidthPixels' },
@@ -3936,6 +3937,7 @@ my %tagLookup = (
3936
3937
  'nickname' => { 480 => 'Nickname' },
3937
3938
  'nikoncapturedata' => { 216 => 0xe01 },
3938
3939
  'nikoncaptureeditversions' => { 216 => 0xe13 },
3940
+ 'nikoncaptureoffsets' => { 216 => 0xe0e },
3939
3941
  'nikoncaptureoutput' => { 216 => 0xe1e },
3940
3942
  'nikoncaptureversion' => { 216 => 0xe09 },
3941
3943
  'nikoniccprofile' => { 216 => 0xe1d },
@@ -8895,7 +8897,6 @@ my %tagExists = (
8895
8897
  'nifnonlinearity16bit' => 1,
8896
8898
  'nifnonlinearityext' => 1,
8897
8899
  'nikon' => 1,
8898
- 'nikoncaptureoffsets' => 1,
8899
8900
  'nikondata' => 1,
8900
8901
  'nikondatetime' => 1,
8901
8902
  'nikonncdb' => 1,
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
12
12
  =head1 TAG TABLES
13
13
 
14
14
  The tables listed below give the names of all tags recognized by ExifTool.
15
- They contain a total of 23035 tags, with 15079 unique tag names.
15
+ They contain a total of 23036 tags, with 15080 unique tag names.
16
16
 
17
17
  B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
18
18
  table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
@@ -62,7 +62,8 @@ writable directly, but is written automatically by ExifTool (often when a
62
62
  corresponding L<Composite|Image::ExifTool::TagNames/Composite Tags> or
63
63
  L<Extra|Image::ExifTool::TagNames/Extra Tags> tag is written). A colon
64
64
  (C<:>) indicates a I<Mandatory> tag which may be added automatically when
65
- writing.
65
+ writing. Normally, makernote tags may not be deleted individually, but a
66
+ caret (C<^>) indicates a I<Deletable> makernote tag.
66
67
 
67
68
  The HTML version of these tables also lists possible B<Values> for
68
69
  discrete-valued tags, as well as B<Notes> for some tags. The B<Values> are
@@ -8988,6 +8989,7 @@ Tags extracted from FLIR Public image Format (FPF) files.
8988
8989
  0x3820 FrameRate int16u
8989
8990
  0x3821 FrameWidth int16u
8990
8991
  0x3822 FrameHeight int16u
8992
+ 0x3824 FullHDHighSpeedRec int32u
8991
8993
  0x4005 FaceElementSelected int16u[4]
8992
8994
  0x4100 FacesDetected int16u
8993
8995
  0x4103 FacePositions int16u[n]
@@ -11376,11 +11378,11 @@ DiMAGE X and Xt.
11376
11378
  0x00c3 BarometerInfo Nikon BarometerInfo
11377
11379
  0x0e00 PrintIM PrintIM
11378
11380
  0x0e01 NikonCaptureData NikonCapture
11379
- 0x0e09 NikonCaptureVersion string
11381
+ 0x0e09 NikonCaptureVersion string^
11380
11382
  0x0e0e NikonCaptureOffsets Nikon CaptureOffsets
11381
11383
  0x0e10 NikonScanIFD Nikon Scan
11382
11384
  0x0e13 NikonCaptureEditVersions NikonCapture
11383
- NikonCaptureEditVersions undef!
11385
+ NikonCaptureEditVersions undef!^
11384
11386
  0x0e1d NikonICCProfile ICC_Profile
11385
11387
  0x0e1e NikonCaptureOutput Nikon CaptureOutput
11386
11388
  0x0e22 NEFBitDepth int16u[4]!
@@ -18346,8 +18348,8 @@ ExifTool is used to write XMP to a CRW image.
18346
18348
  0x1835 DecoderTable CanonRaw DecoderTable
18347
18349
  0x183b SerialNumberFormat int32u
18348
18350
  0x2005 RawData no
18349
- 0x2007 JpgFromRaw resize
18350
- 0x2008 ThumbnailImage resize
18351
+ 0x2007 JpgFromRaw resize^
18352
+ 0x2008 ThumbnailImage resize^
18351
18353
  0x2804 ImageDescription CanonRaw
18352
18354
  0x2807 CameraObject CanonRaw
18353
18355
  0x3002 ShootingRecord CanonRaw
@@ -33460,8 +33462,8 @@ FileName.
33460
33462
  Tag Name Group Writable
33461
33463
  -------- ----- --------
33462
33464
  Adobe Adobe yes!
33463
- CanonDR4 CanonVRD yes!
33464
- CanonVRD CanonVRD yes!
33465
+ CanonDR4 CanonVRD yes!^
33466
+ CanonVRD CanonVRD yes!^
33465
33467
  Comment File yes
33466
33468
  CurrentIPTCDigest File no
33467
33469
  Directory System yes!
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 11.67
3
+ Version: 11.68
4
4
  Release: 1
5
5
  License: Artistic/GPL
6
6
  Group: Development/Libraries/Perl
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ExiftoolVendored
4
- VERSION = Gem::Version.new('11.67.0')
4
+ VERSION = Gem::Version.new('11.68.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.67.0
4
+ version: 11.68.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew McEachen