exiftool_vendored 12.95.0 → 12.97.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 27985 tags, with 17475 unique tag names.
15
+ They contain a total of 28148 tags, with 17486 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
@@ -5878,7 +5878,7 @@ These tags belong to the ExifTool XMP-pmi family 1 group.
5878
5878
 
5879
5879
  Publishing Requirements for Industry Standard Metadata 3.0 namespace
5880
5880
  tags. (see
5881
- L<https://www.w3.org/Submission/2020/SUBM-prism-20200910/prism-basic.html/>)
5881
+ L<https://www.w3.org/Submission/2020/SUBM-prism-20200910/prism-basic.html>)
5882
5882
 
5883
5883
  These tags belong to the ExifTool XMP-prism family 1 group.
5884
5884
 
@@ -13487,6 +13487,9 @@ RAF-format information.
13487
13487
  0x0110 RawImageCropTopLeft no
13488
13488
  0x0111 RawImageCroppedSize no
13489
13489
  0x0115 RawImageAspectRatio no
13490
+ 0x0117 RawZoomActive no
13491
+ 0x0118 RawZoomTopLeft no
13492
+ 0x0119 RawZoomSize no
13490
13493
  0x0121 RawImageSize no
13491
13494
  0x0130 FujiLayout no
13492
13495
  0x0131 XTransLayout no
@@ -15745,6 +15748,7 @@ DiMAGE X and Xt.
15745
15748
  ShotInfoD500 Nikon ShotInfoD500
15746
15749
  ShotInfoD6 Nikon ShotInfoD6
15747
15750
  ShotInfoD610 Nikon ShotInfoD610
15751
+ ShotInfoZ6III Nikon ShotInfoZ6III
15748
15752
  ShotInfoZ7II Nikon ShotInfoZ7II
15749
15753
  ShotInfoZ8 Nikon ShotInfoZ8
15750
15754
  ShotInfoZ9 Nikon ShotInfoZ9
@@ -16571,6 +16575,86 @@ These tags are extracted from encrypted data in images from the D610.
16571
16575
  4 FirmwareVersion no
16572
16576
  1999 CustomSettingsD610 NikonCustom SettingsD610
16573
16577
 
16578
+ =head3 Nikon ShotInfoZ6III Tags
16579
+
16580
+ These tags are extracted from encrypted data in images from the Z6III.
16581
+
16582
+ Index Tag Name Writable
16583
+ ----- -------- --------
16584
+ 0 ShotInfoVersion no
16585
+ 4 FirmwareVersion no
16586
+ 136 OrientationOffset Nikon OrientationInfo
16587
+ 144 MenuOffset Nikon MenuSettingsZ6III
16588
+
16589
+ =head3 Nikon MenuSettingsZ6III Tags
16590
+
16591
+ These tags are used by the Z6III.
16592
+
16593
+ Index1 Tag Name Writable
16594
+ ------ -------- --------
16595
+ 364 HighFrameRate int8u
16596
+ 444 MultipleExposureMode int8u
16597
+ 446 MultiExposureShots int8u
16598
+ 476 IntervalDurationHours int32u
16599
+ 480 IntervalDurationMinutes int32u
16600
+ 484 IntervalDurationSeconds int32u
16601
+ 492 Intervals int32u
16602
+ 496 ShotsPerInterval int32u
16603
+ 500 IntervalExposureSmoothing int8u
16604
+ 502 IntervalPriority int8u
16605
+ 536 FocusShiftNumberShots int8u
16606
+ 540 FocusShiftStepWidth int8u
16607
+ 544 FocusShiftInterval int8u~
16608
+ 548 FocusShiftExposureLock int8u
16609
+ 648 AutoISO int8u
16610
+ 650 ISOAutoHiLimit? int16u
16611
+ 718 DiffractionCompensation int8u
16612
+ 719 AutoDistortionControl int8u
16613
+ 720 FlickerReductionShooting int8u
16614
+ 722 NikonMeteringMode int8u
16615
+ 724 FlashControlMode int8u
16616
+ 730 FlashGNDistance? no
16617
+ 734 FlashOutput? int8u
16618
+ 742 FlashWirelessOption? int8u
16619
+ 744 FlashRemoteControl? int8u
16620
+ 748 FlashMasterControlMode int8u
16621
+ 750 FlashMasterCompensation? int8s
16622
+ 754 FlashMasterOutput? int8u
16623
+ 832 AFAreaMode int8u
16624
+ 834 VRMode int8u
16625
+ 838 BracketSet int8u
16626
+ 840 BracketProgram int8u
16627
+ 842 BracketIncrement int8u
16628
+ 852 HDR int8u
16629
+ 858 SecondarySlotFunction int8u
16630
+ 864 HDRLevel int8u
16631
+ 868 Slot2JpgSize? int8u
16632
+ 878 SubjectDetection int8u
16633
+ 880 DynamicAFAreaSize int8u
16634
+ 884 ToneMap? int8u
16635
+ 888 PortraitImpressionBalance int8u
16636
+ 902 HighFrequencyFlickerReduction? int8u
16637
+ 904 PixelShiftShooting int8u
16638
+ 906 PixelShiftNumberShots int8u
16639
+ 908 PixelShiftDelay int8u~
16640
+ 910 PixelShiftInterval int8u~
16641
+ 1002 SubjectDetectionAreaMF int8u
16642
+ 1004 LinkVRToFocusPoint? int8u
16643
+ 1046 MovieSlowMotion? int8u
16644
+ 1050 MovieType int8u
16645
+ 1162 MovieFrameSize? int8u
16646
+ 1164 MovieFrameRate? int8u
16647
+ 1255 CustomSettingsZ6III NikonCustom SettingsZ6III
16648
+ 2300 Language? int8u
16649
+ 2302 TimeZone int8u
16650
+ 2308 MonitorBrightness? int8u
16651
+ 2444 EmptySlotRelease? int8u
16652
+ 2450 EnergySavingMode? int8u
16653
+ 2476 USBPowerDelivery? int8u
16654
+ 2480 SaveFocusPosition? int8u
16655
+ 2487 SilentPhotography? int8u
16656
+ 2496 AirplaneMode? int8u
16657
+
16574
16658
  =head3 Nikon ShotInfoZ7II Tags
16575
16659
 
16576
16660
  These tags are extracted from encrypted data in images from the Z7II.
@@ -17445,7 +17529,7 @@ Tags found in the encrypted LensData from cameras such as the Z6 and Z7.
17445
17529
  20 EffectiveMaxAperture int8u
17446
17530
  47 NewLensData undef[17]
17447
17531
  48 LensID int16u
17448
- 53 LensMountType int8u
17532
+ 52 LensFirmwareVersion int16u~
17449
17533
  54 MaxAperture int16u
17450
17534
  56 FNumber int16u
17451
17535
  60 FocalLength int16u
@@ -17454,6 +17538,7 @@ Tags found in the encrypted LensData from cameras such as the Z6 and Z7.
17454
17538
  86 LensDriveEnd? int8u
17455
17539
  88 FocusStepsFromInfinity? int8u
17456
17540
  90 LensPositionAbsolute int32s
17541
+ 95 LensMountType int8u & 0x01
17457
17542
 
17458
17543
  =head3 Nikon LensDataUnknown Tags
17459
17544
 
@@ -19051,6 +19136,108 @@ Custom settings for the D610.
19051
19136
  21.2 ShootingInfoMonitorOffTime int8u & 0x1c
19052
19137
  35.1 PlaybackMonitorOffTime int8u & 0xe0
19053
19138
 
19139
+ =head3 NikonCustom SettingsZ6III Tags
19140
+
19141
+ Custom settings for the Z6III.
19142
+
19143
+ Index1 Tag Name Writable
19144
+ ------ -------- --------
19145
+ 3 AF-CPrioritySelection int8u
19146
+ 5 AF-SPrioritySelection int8u
19147
+ 7 BlockShotAFResponse int8u
19148
+ 11 AFPointSel int8u
19149
+ 13 StoreByOrientation int8u
19150
+ 15 AFActivation int8u
19151
+ 16 AF-OnOutOfFocusRelease? int8u
19152
+ 17 LimitAF-AreaModeSelPinpoint? int8u
19153
+ 19 LimitAF-AreaModeSelWideAF_S? int8u
19154
+ 20 LimitAF-AreaModeSelWideAF_L? int8u
19155
+ 21 LimitAFAreaModeSelAuto? int8u
19156
+ 22 FocusPointWrap? int8u
19157
+ 23 ManualFocusPointIllumination? int8u
19158
+ 24 DynamicAreaAFAssist? int8u
19159
+ 26 AF-AssistIlluminator int8u
19160
+ 27 ManualFocusRingInAFMode int8u
19161
+ 29 ExposureControlStepSize int8u
19162
+ 31 EasyExposureCompensation int8u
19163
+ 33 CenterWeightedAreaSize int8u
19164
+ 35 FineTuneOptMatrixMetering int8s
19165
+ 37 FineTuneOptCenterWeighted int8s
19166
+ 39 FineTuneOptSpotMetering int8s
19167
+ 41 FineTuneOptHighlightWeighted int8s
19168
+ 43 ShutterReleaseButtonAE-L int8u
19169
+ 45 SelfTimerTime int8u
19170
+ 49 SelfTimerShotCount int8u
19171
+ 53 SelfTimerShotInterval int8u
19172
+ 55 PlaybackMonitorOffTime int8u
19173
+ 57 MenuMonitorOffTime int8u
19174
+ 59 ImageReviewMonitorOffTime int8u
19175
+ 61 ShootingInfoMonitorOffTime int8u
19176
+ 63 CLModeShootingSpeed int8u
19177
+ 65 MaxContinuousRelease no
19178
+ 69 SyncReleaseMode? int8u
19179
+ 75 LimitSelectableImageAreaDX? int8u
19180
+ 76 LimitSelectableImageArea1To1? int8u
19181
+ 77 LimitSelectableImageArea16To9? int8u
19182
+ 78 FileNumberSequence int8u
19183
+ 81 FocusPeakingLevel? int8u
19184
+ 83 FocusPeakingHighlightColor? int8u
19185
+ 85 ContinuousModeDisplay int8u
19186
+ 87 FlashSyncSpeed no
19187
+ 89 HighSpeedSync int8u
19188
+ 91 FlashShutterSpeed no
19189
+ 93 FlashExposureCompArea int8u
19190
+ 95 AutoFlashISOSensitivity int8u
19191
+ 97 ModelingFlash int8u
19192
+ 99 AutoBracketModeM int8u
19193
+ 101 AutoBracketOrder int8u
19194
+ 103 Func1Button int8u
19195
+ 119 Func2Button int8u
19196
+ 135 AFOnButton int8u
19197
+ 147 SubSelector? int8u
19198
+ 159 AssignMovieRecordButton? int8u
19199
+ 163 LensFunc1Button int8u
19200
+ 171 LensFunc2Button int8u
19201
+ 177 LensControlRing int8u
19202
+ 179 MultiSelectorShootMode int8u
19203
+ 183 MultiSelectorPlaybackMode int8u
19204
+ 187 ShutterSpeedLock int8u
19205
+ 188 ApertureLock int8u
19206
+ 190 CmdDialsReverseRotation int8u
19207
+ 195 UseDialWithoutHold? int8u
19208
+ 197 ReverseIndicators? int8u
19209
+ 199 MovieFunc1Button int8u
19210
+ 205 MovieFunc2Button int8u
19211
+ 211 MovieAF-OnButton int8u
19212
+ 223 MovieLensControlRing int8u
19213
+ 225 MovieMultiSelector? int8u
19214
+ 229 MovieAFSpeed int8u
19215
+ 231 MovieAFSpeedApply int8u
19216
+ 233 MovieAFTrackingSensitivity int8u
19217
+ 241 LCDIllumination? int8u
19218
+ 242 ExtendedShutterSpeeds int8u
19219
+ 245 FocusPointPersistence int8u
19220
+ 257 FlashBurstPriority? int8u
19221
+ 319 LimitAF-AreaModeSelDynamic_S? int8u
19222
+ 320 LimitAF-AreaModeSelDynamic_M? int8u
19223
+ 321 LimitAF-AreaModeSelDynamic_L? int8u
19224
+ 323 LimitAF-AreaModeSel3DTracking? int8u
19225
+ 325 PlaybackFlickUp? int8u
19226
+ 329 PlaybackFlickDown? int8u
19227
+ 333 ISOStepSize int8u
19228
+ 340 TouchFn? int8u
19229
+ 341 TouchFnRole? int8u
19230
+ 345 TouchFnAreaWide? int8u
19231
+ 347 TouchFnAreaTall? int8u
19232
+ 350 EVFImageFrame? int8u
19233
+ 351 EVFGrid? int8u
19234
+ 353 VirtualHorizonStyle? int8u
19235
+ 415 Func1ButtonPlaybackMode? int8u
19236
+ 417 Func2ButtonPlaybackMode? int8u
19237
+ 431 MovieRecordButtonPlaybackMode? int8u
19238
+ 463 ControlRingResponse int8u
19239
+ 559 FocusPeakingDisplay? int8u
19240
+
19054
19241
  =head3 NikonCustom SettingsZ8 Tags
19055
19242
 
19056
19243
  Custom settings for the Z8.
@@ -847,7 +847,7 @@ sub WriteQuickTime($$$)
847
847
  $et or return 1; # allow dummy access to autoload this package
848
848
  my ($mdat, @mdat, @mdatEdit, $edit, $track, $outBuff, $co, $term, $delCount);
849
849
  my (%langTags, $canCreate, $delGrp, %boxPos, %didDir, $writeLast, $err, $atomCount);
850
- my ($tag, $lastTag, $lastPos, $errStr, $copyTrailer, $buf2);
850
+ my ($tag, $lastTag, $lastPos, $errStr, $trailer, $buf2);
851
851
  my $outfile = $$dirInfo{OutFile} || return 0;
852
852
  my $raf = $$dirInfo{RAF}; # (will be null for lower-level atoms)
853
853
  my $dataPt = $$dirInfo{DataPt}; # (will be null for top-level atoms)
@@ -860,6 +860,16 @@ sub WriteQuickTime($$$)
860
860
  my $createKeys = 0;
861
861
  my ($rtnVal, $rtnErr) = $dataPt ? (undef, undef) : (1, 0);
862
862
 
863
+ # check for Insta360 trailer at top level
864
+ if ($raf) {
865
+ my $pos = $raf->Tell();
866
+ if ($raf->Seek(-40, 2) and $raf->Read($buf2, 40) == 40 and
867
+ substr($buf2, 8) eq '8db42d694ccc418790edff439fe026bf')
868
+ {
869
+ $trailer = [ 'Insta360', $raf->Tell() - unpack('V',$buf2) ];
870
+ }
871
+ $raf->Seek($pos, 0) or return 0;
872
+ }
863
873
  if ($dataPt) {
864
874
  $raf = File::RandomAccess->new($dataPt);
865
875
  } else {
@@ -924,6 +934,11 @@ sub WriteQuickTime($$$)
924
934
 
925
935
  for (;;) { # loop through all atoms at this level
926
936
  $lastPos = $raf->Tell();
937
+ # stop processing if we reached a known trailer
938
+ if ($trailer and $lastPos >= $$trailer[1]) {
939
+ $errStr = "Corrupted $$trailer[0] trailer" if $lastPos != $$trailer[1];
940
+ last;
941
+ }
927
942
  $lastTag = $tag if $$tagTablePtr{$tag}; # keep track of last known tag
928
943
  if (defined $atomCount and --$atomCount < 0 and $dataPt) {
929
944
  # stop processing now and just copy the rest of the atom
@@ -1524,38 +1539,18 @@ sub WriteQuickTime($$$)
1524
1539
  }
1525
1540
  # ($errStr is set if there was an error that could possibly be due to an unknown trailer)
1526
1541
  if ($errStr) {
1527
- if (($lastTag eq 'mdat' or $lastTag eq 'moov' or ($lastTag eq 'free' and @mdat)) and not $dataPt and
1528
- (not $$tagTablePtr{$tag} or ref $$tagTablePtr{$tag} eq 'HASH' and $$tagTablePtr{$tag}{Unknown}))
1542
+ if (($lastTag eq 'mdat' or $lastTag eq 'moov') and not $dataPt and (not $$tagTablePtr{$tag} or
1543
+ ref $$tagTablePtr{$tag} eq 'HASH' and $$tagTablePtr{$tag}{Unknown}))
1529
1544
  {
1530
- # identify known trailers
1531
- if ($raf->Seek(-40,2) and $raf->Read($buf2,40)==40 and
1532
- substr($buf2, 8) eq '8db42d694ccc418790edff439fe026bf' and
1533
- $lastPos == $raf->Tell() - unpack('V',$buf2))
1534
- {
1535
- $copyTrailer = [ $lastPos, 'Insta360' ];
1545
+ # identify other known trailers
1546
+ $buf2 = '';
1547
+ $raf->Seek($lastPos,0) and $raf->Read($buf2,8);
1548
+ if ($buf2 eq 'CCCCCCCC') {
1549
+ $trailer = [ 'Kenwood', $lastPos ];
1550
+ } elsif ($buf2 =~ /^(gpsa|gps0|gsen|gsea)...\0/s) {
1551
+ $trailer = [ 'RIFF', $lastPos ];
1536
1552
  } else {
1537
- $buf2 = '';
1538
- $raf->Seek($lastPos,0) and $raf->Read($buf2,8);
1539
- if ($buf2 eq 'CCCCCCCC') {
1540
- $copyTrailer = [ $lastPos, 'Kenwood' ];
1541
- } elsif ($buf2 =~ /^(gpsa|gps0|gsen|gsea)...\0/s) {
1542
- $copyTrailer = [ $lastPos, 'RIFF' ];
1543
- }
1544
- }
1545
- # are we deleting the trailer?
1546
- my $nvTrail = $et->GetNewValueHash($Image::ExifTool::Extra{Trailer});
1547
- if ($$et{DEL_GROUP}{Trailer} or ($nvTrail and not ($$nvTrail{Value} and $$nvTrail{Value}[0]))) {
1548
- $errStr =~ s/ is too large.*//;
1549
- if ($copyTrailer) {
1550
- $et->Warn("Deleted $$copyTrailer[1] trailer", 1);
1551
- undef $copyTrailer;
1552
- } else {
1553
- $et->Warn('Deleted unknown trailer with ' . lcfirst($errStr), 1);
1554
- }
1555
- } elsif (not $copyTrailer) {
1556
- $et->Warn('Unknown trailer with ' . lcfirst($errStr));
1557
- $et->Error('Use "-trailer=" to delete unknown trailer');
1558
- # (we don't currently copy an unknown trailer due to the chance it could be corrupted data)
1553
+ $trailer = [ 'Unknown', $lastPos ];
1559
1554
  }
1560
1555
  } else {
1561
1556
  $et->Error($errStr);
@@ -2011,16 +2006,20 @@ sub WriteQuickTime($$$)
2011
2006
  Write($outfile, $writeLast) or $rtnVal = 0 if $writeLast;
2012
2007
 
2013
2008
  # copy trailer if necessary
2014
- if ($copyTrailer) {
2015
- if ($raf->Seek($$copyTrailer[0])) {
2016
- $et->Warn(sprintf('Copying %s trailer from offset 0x%x', $$copyTrailer[1], $lastPos), 1);
2009
+ if ($rtnVal and $trailer) {
2010
+ # are we deleting the trailer?
2011
+ my $nvTrail = $et->GetNewValueHash($Image::ExifTool::Extra{Trailer});
2012
+ if ($$et{DEL_GROUP}{Trailer} or ($nvTrail and not ($$nvTrail{Value} and $$nvTrail{Value}[0]))) {
2013
+ $et->Warn("Deleted $$trailer[0] trailer", 1);
2014
+ } elsif ($raf->Seek($$trailer[1])) {
2015
+ $et->Warn(sprintf('Copying %s trailer from offset 0x%x', @$trailer), 1);
2017
2016
  while ($raf->Read($buf2, 65536)) {
2018
2017
  Write($outfile, $buf2) or $rtnVal = 0, last;
2019
2018
  }
2020
2019
  } else {
2021
- $et->Error('Error copying Insta360 trailer');
2022
2020
  $rtnVal = 0;
2023
2021
  }
2022
+ $rtnVal or $et->Error("Error copying $$trailer[0] trailer");
2024
2023
  }
2025
2024
  return $rtnVal;
2026
2025
  }
@@ -871,7 +871,7 @@ my %prismPublicationDate = (
871
871
  NOTES => q{
872
872
  Publishing Requirements for Industry Standard Metadata 3.0 namespace
873
873
  tags. (see
874
- L<https://www.w3.org/Submission/2020/SUBM-prism-20200910/prism-basic.html/>)
874
+ L<https://www.w3.org/Submission/2020/SUBM-prism-20200910/prism-basic.html>)
875
875
  },
876
876
  academicField => { }, # (3.0)
877
877
  aggregateIssueNumber => { Writable => 'integer' }, # (3.0)
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
29
29
  %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
30
30
  %static_vars $advFmtSelf);
31
31
 
32
- $VERSION = '12.95';
32
+ $VERSION = '12.97';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 12.95
3
+ Version: 12.97
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('12.95.0')
4
+ VERSION = Gem::Version.new('12.97.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: 12.95.0
4
+ version: 12.97.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: 2024-08-31 00:00:00.000000000 Z
12
+ date: 2024-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool