exiftool_vendored 11.67.0 → 11.68.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.

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