exiftool_vendored 13.26.0 → 13.29.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.
@@ -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 28431 tags, with 17665 unique tag names.
15
+ They contain a total of 28445 tags, with 17669 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
@@ -154,7 +154,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
154
154
  InfiRaySensor InfiRay Sensor
155
155
  SEAL XMP SEAL
156
156
  'APP10' Comment no
157
- HDRGainCurve no
157
+ HDRGainInfo -
158
158
  'APP11' JPEG-HDR JPEG HDR
159
159
  JUMBF Jpeg2000
160
160
  'APP12' PictureInfo APP12 PictureInfo
@@ -171,6 +171,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification.
171
171
  FotoStation FotoStation
172
172
  PhotoMechanic PhotoMechanic
173
173
  MIE MIE
174
+ MPF MPF
174
175
  Samsung Samsung Trailer
175
176
  Vivo Trailer Vivo
176
177
  OnePlus Trailer OnePlus
@@ -277,6 +278,13 @@ Tags found in the XML metadata of the APP9 "Media Jukebox" segment.
277
278
  Tool_Name no
278
279
  Tool_Version no
279
280
 
281
+ =head3 JPEG HDRGainInfo Tags
282
+
283
+ Index1 Tag Name Writable
284
+ ------ -------- --------
285
+ 6 HDRGainCurveSize no
286
+ 10 HDRGainCurve no
287
+
280
288
  =head3 JPEG HDR Tags
281
289
 
282
290
  Information extracted from APP11 of a JPEG-HDR image.
@@ -19903,6 +19911,7 @@ These tags are used in Panasonic/Leica cameras.
19903
19911
  0x00d1 ISO int32u
19904
19912
  0x00d2 MonochromeGrainEffect int16u
19905
19913
  0x00d6 NoiseReductionStrength rational64s
19914
+ 0x00de AFAreaSize rational64u[2]
19906
19915
  0x00e4 LensTypeModel int16u
19907
19916
  0x00e8 MinimumISO int32u
19908
19917
  0x00e9 AFSubjectDetection int16u
@@ -20666,6 +20675,9 @@ Flash information tags for the K10D, K20D and K200D.
20666
20675
  6 AFDefocus int8u
20667
20676
  7 AFIntegrationTime int8u
20668
20677
  11 AFPointsInFocus int8u
20678
+ 20 AFPointValues? no
20679
+ 298 AFPointsSelected int8u[41]~
20680
+ 399 AFPointsUnknown? int8u[41]~
20669
20681
  506 LiveView int8u
20670
20682
  509 AFHold int8u
20671
20683
 
@@ -20902,6 +20914,7 @@ sensors are located in the camera.
20902
20914
  14 SensorTemperature2 int16s
20903
20915
  20 CameraTemperature4 int16s
20904
20916
  22 CameraTemperature5 int16s
20917
+ 42 SensorTemperature int16s
20905
20918
 
20906
20919
  =head3 Pentax UnknownInfo Tags
20907
20920
 
@@ -30310,6 +30323,7 @@ for the official QuickTime specification.
30310
30323
  'gdat' GPSData QuickTime Stream
30311
30324
  'gps0' GPSTrack QuickTime Stream
30312
30325
  'gsen' GSensor QuickTime Stream
30326
+ 'inst' Insta360Info QuickTime Stream
30313
30327
  'junk' Junk? no
30314
30328
  'mdat' MediaData? no
30315
30329
  'mdat-offset' MediaDataOffset no
@@ -30318,7 +30332,7 @@ for the official QuickTime specification.
30318
30332
  'meta' Meta QuickTime Meta
30319
30333
  'moof' MovieFragment QuickTime MovieFragment
30320
30334
  'moov' Movie QuickTime Movie
30321
- 'mpvd' MotionPhotoVideo yes
30335
+ 'mpvd' MotionPhotoVideo undef
30322
30336
  'nbmt' NextbaseMeta QuickTime Stream
30323
30337
  'pict' PreviewPICT no
30324
30338
  'pnot' Preview QuickTime Preview
@@ -30334,6 +30348,7 @@ for the official QuickTime specification.
30334
30348
  'udat' GPSLog no
30335
30349
  'udta' KenwoodData QuickTime Stream
30336
30350
  LigoJSON QuickTime Stream
30351
+ GKUData QuickTime Stream
30337
30352
  FLIRData FLIR UserData
30338
30353
  'uuid' XMP XMP
30339
30354
  UUID-PROF QuickTime Profile
@@ -30353,81 +30368,83 @@ for the official QuickTime specification.
30353
30368
  The tags below are extracted from timed metadata in QuickTime and other
30354
30369
  formats of video files when the ExtractEmbedded option is used. Although
30355
30370
  most of these tags are combined into the single table below, ExifTool
30356
- currently reads 103 different types of timed GPS metadata from video files.
30371
+ currently reads 107 different types of timed GPS metadata from video files.
30357
30372
 
30358
- Tag Name Writable
30359
- -------- --------
30360
- Accelerometer no
30361
- AccelerometerData no
30362
- AngularVelocity no
30363
- CTMD Canon CTMD
30364
- CameraDateTime no
30365
- CameraModel no
30366
- Car no
30367
- DJIDebug? DJI Protobuf
30368
- DJIMetadata DJI Protobuf
30369
- DateTimeOriginal no
30370
- DateTimeStamp no
30371
- Distance no
30372
- ExposureCompensation no
30373
- ExposureTime no
30374
- FNumber no
30375
- FrameNumber no
30376
- GPSAltitude no
30377
- GPSDOP no
30378
- GPSDateTime no
30379
- GPSLatitude no
30380
- GPSLatitude2 no
30381
- GPSLongitude no
30382
- GPSLongitude2 no
30383
- GPSSatellites no
30384
- GPSSpeed no
30385
- GPSSpeedRef no
30386
- GPSTimeStamp no
30387
- GPSTrack no
30388
- GPSTrackRef no
30389
- GSensor no
30390
- INSV QuickTime INSV_MakerNotes
30391
- ISO no
30392
- JpgFromRaw no
30393
- KiloCalories no
30394
- MagneticVariation no
30395
- PreviewImage no
30396
- PreviewInfo QuickTime PreviewInfo
30397
- RVMI_gReV QuickTime RVMI_gReV
30398
- RVMI_sReV QuickTime RVMI_sReV
30399
- RawGSensor no
30400
- SampleDateTime no
30401
- SampleDuration no
30402
- SampleTime no
30403
- Text no
30404
- TimeCode no
30405
- Unknown00? no
30406
- Unknown01? no
30407
- Unknown02? no
30408
- Unknown03? no
30409
- UserLabel no
30410
- VerticalSpeed no
30411
- VideoTimeStamp no
30412
- camm0 QuickTime camm0
30413
- camm1 QuickTime camm1
30414
- camm2 QuickTime camm2
30415
- camm3 QuickTime camm3
30416
- camm4 QuickTime camm4
30417
- camm5 QuickTime camm5
30418
- camm6 QuickTime camm6
30419
- camm7 QuickTime camm7
30420
- fdsc GoPro fdsc
30421
- gpmd_Kingslim QuickTime Stream
30422
- gpmd_Rove QuickTime Stream
30423
- gpmd_FMAS QuickTime Stream
30424
- gpmd_Wolfbox QuickTime Stream
30425
- gpmd_GoPro GoPro GPMF
30426
- marl GM marl
30427
- mebx QuickTime Keys
30428
- mett Parrot mett
30429
- rtmd Sony rtmd
30430
- tx3g QuickTime tx3g
30373
+ Tag ID Tag Name Writable
30374
+ ------ -------- --------
30375
+ 'Accelerometer' Accelerometer no
30376
+ 'AccelerometerData' AccelerometerData no
30377
+ 'AngularVelocity' AngularVelocity no
30378
+ 'CTMD' CTMD Canon CTMD
30379
+ 'CameraDateTime' CameraDateTime no
30380
+ 'CameraModel' CameraModel no
30381
+ 'Car' Car no
30382
+ 'DateTimeOriginal' DateTimeOriginal no
30383
+ 'DateTimeStamp' DateTimeStamp no
30384
+ 'Distance' Distance no
30385
+ 'ExposureCompensation' ExposureCompensation no
30386
+ 'ExposureTime' ExposureTime no
30387
+ 'FNumber' FNumber no
30388
+ 'FrameNumber' FrameNumber no
30389
+ 'GPSAltitude' GPSAltitude no
30390
+ 'GPSDOP' GPSDOP no
30391
+ 'GPSDateTime' GPSDateTime no
30392
+ 'GPSLatitude' GPSLatitude no
30393
+ 'GPSLatitude2' GPSLatitude2 no
30394
+ 'GPSLongitude' GPSLongitude no
30395
+ 'GPSLongitude2' GPSLongitude2 no
30396
+ 'GPSSatellites' GPSSatellites no
30397
+ 'GPSSpeed' GPSSpeed no
30398
+ 'GPSSpeedRef' GPSSpeedRef no
30399
+ 'GPSTimeStamp' GPSTimeStamp no
30400
+ 'GPSTrack' GPSTrack no
30401
+ 'GPSTrackRef' GPSTrackRef no
30402
+ 'GSensor' GSensor no
30403
+ 'INSV' INSV QuickTime INSV_MakerNotes
30404
+ 'ISO' ISO no
30405
+ 'JPEG' JpgFromRaw no
30406
+ 'KiloCalories' KiloCalories no
30407
+ 'MagneticVariation' MagneticVariation no
30408
+ 'RVMI' RVMI_gReV QuickTime RVMI_gReV
30409
+ RVMI_sReV QuickTime RVMI_sReV
30410
+ 'RawGSensor' RawGSensor no
30411
+ 'SampleDateTime' SampleDateTime no
30412
+ 'SampleDuration' SampleDuration no
30413
+ 'SampleTime' SampleTime no
30414
+ 'Text' Text no
30415
+ 'TimeCode' TimeCode no
30416
+ 'Unknown00' Unknown00? no
30417
+ 'Unknown01' Unknown01? no
30418
+ 'Unknown02' Unknown02? no
30419
+ 'Unknown03' Unknown03? no
30420
+ 'UserLabel' UserLabel no
30421
+ 'VerticalSpeed' VerticalSpeed no
30422
+ 'VideoTimeStamp' VideoTimeStamp no
30423
+ 'camm' camm0 QuickTime camm0
30424
+ camm1 QuickTime camm1
30425
+ camm2 QuickTime camm2
30426
+ camm3 QuickTime camm3
30427
+ camm4 QuickTime camm4
30428
+ camm5 QuickTime camm5
30429
+ camm6 QuickTime camm6
30430
+ camm7 QuickTime camm7
30431
+ 'dbgi' DJIDebug? DJI Protobuf
30432
+ 'djmd' DJIMetadata DJI Protobuf
30433
+ 'fdsc' fdsc GoPro fdsc
30434
+ 'gpmd' gpmd_Kingslim QuickTime Stream
30435
+ gpmd_Rove QuickTime Stream
30436
+ gpmd_FMAS QuickTime Stream
30437
+ gpmd_Wolfbox QuickTime Stream
30438
+ gpmd_GoPro GoPro GPMF
30439
+ 'marl' marl GM marl
30440
+ 'mebx' mebx QuickTime Keys
30441
+ 'mett' mett Parrot mett
30442
+ 'rtmd' rtmd Sony rtmd
30443
+ 'ssmd' RoveGPS QuickTime RoveGPS
30444
+ Accelerometer no
30445
+ PreviewImage no
30446
+ 'text' PreviewInfo QuickTime PreviewInfo
30447
+ 'tx3g' tx3g QuickTime tx3g
30431
30448
 
30432
30449
  =head3 QuickTime INSV_MakerNotes Tags
30433
30450
 
@@ -30438,14 +30455,6 @@ currently reads 103 different types of timed GPS metadata from video files.
30438
30455
  0x001a Firmware no
30439
30456
  0x002a Parameters no
30440
30457
 
30441
- =head3 QuickTime PreviewInfo Tags
30442
-
30443
- Preview stored by TomTom Bandit ActionCam.
30444
-
30445
- Index1 Tag Name Writable
30446
- ------ -------- --------
30447
- 8 PreviewImage no
30448
-
30449
30458
  =head3 QuickTime RVMI_gReV Tags
30450
30459
 
30451
30460
  GPS information extracted from the RVMI box of MOV videos.
@@ -30670,6 +30679,23 @@ VideoKeys family 1 gorup.
30670
30679
  ------ -------- --------
30671
30680
  'cits' FaceItem QuickTime Keys
30672
30681
 
30682
+ =head3 QuickTime RoveGPS Tags
30683
+
30684
+ Index1 Tag Name Writable
30685
+ ------ -------- --------
30686
+ 0 GPSLatitude no
30687
+ 8 GPSLongitude no
30688
+ 20 GPSSpeed no
30689
+ 22 GPSDateTime no
30690
+
30691
+ =head3 QuickTime PreviewInfo Tags
30692
+
30693
+ Preview stored by TomTom Bandit ActionCam.
30694
+
30695
+ Index1 Tag Name Writable
30696
+ ------ -------- --------
30697
+ 8 PreviewImage no
30698
+
30673
30699
  =head3 QuickTime tx3g Tags
30674
30700
 
30675
30701
  Tags extracted from the tx3g sbtl timed metadata of Yuneec and Autel drones,
@@ -31692,6 +31718,7 @@ the config file.
31692
31718
  'mcvr' PreviewImage string
31693
31719
  'meta' Meta QuickTime Meta
31694
31720
  'modl' Model no
31721
+ 'nail' ThumbnailTIFF no
31695
31722
  'name' Name string
31696
31723
  'perf' Performer string/
31697
31724
  'pmcc' GarminSettings string
@@ -32760,9 +32787,11 @@ specification.
32760
32787
  'E2' ParrotFollowMe Parrot FollowMe
32761
32788
  'E3' ParrotAutomation Parrot Automation
32762
32789
  'application/arcore-accel' ARCoreAccel Parrot ARCoreAccel
32790
+ 'application/arcore-accel-0' ARCoreAccel0 Parrot ARCoreAccel0
32763
32791
  'application/arcore-custom-event'
32764
32792
  ARCoreCustom Parrot ARCoreCustom
32765
32793
  'application/arcore-gyro' ARCoreGyro Parrot ARCoreGyro
32794
+ 'application/arcore-gyro-0' ARCoreGyro0 Parrot ARCoreGyro0
32766
32795
  'application/arcore-video-0' ARCoreVideo Parrot ARCoreVideo
32767
32796
 
32768
32797
  =head3 Parrot V1 Tags
@@ -32900,6 +32929,14 @@ ARCore accelerometer data.
32900
32929
  4 AccelerometerUnknown? no
32901
32930
  5 Accelerometer no
32902
32931
 
32932
+ =head3 Parrot ARCoreAccel0 Tags
32933
+
32934
+ ARCore accelerometer data.
32935
+
32936
+ Index1 Tag Name Writable
32937
+ ------ -------- --------
32938
+ 9 Accelerometer no
32939
+
32903
32940
  =head3 Parrot ARCoreCustom Tags
32904
32941
 
32905
32942
  Index1 Tag Name Writable
@@ -32908,13 +32945,21 @@ ARCore accelerometer data.
32908
32945
 
32909
32946
  =head3 Parrot ARCoreGyro Tags
32910
32947
 
32911
- ARCore accelerometer data.
32948
+ ARCore gyro data.
32912
32949
 
32913
32950
  Index1 Tag Name Writable
32914
32951
  ------ -------- --------
32915
32952
  4 GyroscopeUnknown? no
32916
32953
  5 Gyroscope no
32917
32954
 
32955
+ =head3 Parrot ARCoreGyro0 Tags
32956
+
32957
+ ARCore gyro data.
32958
+
32959
+ Index1 Tag Name Writable
32960
+ ------ -------- --------
32961
+ 9 Gyroscope no
32962
+
32918
32963
  =head3 Parrot ARCoreVideo Tags
32919
32964
 
32920
32965
  Index1 Tag Name Writable
@@ -2434,6 +2434,8 @@ NoOverwrite: next if $isNew > 0;
2434
2434
  } else {
2435
2435
  my $fixedOffset = Get32u(\$newData, $offsets);
2436
2436
  my $padToFixedOffset = $fixedOffset - ($newOffset + $dpos);
2437
+ # account for blocks that come before this (Pansonic DC-S1RM2, forum17319)
2438
+ $padToFixedOffset -= $$_[1] + $$_[2] foreach @imageData;
2437
2439
  if ($padToFixedOffset < 0) {
2438
2440
  $et->Error('Metadata too large to fit before fixed-offset image data');
2439
2441
  } else {
@@ -1248,6 +1248,8 @@ ItemID2: foreach $id (reverse sort { $a <=> $b } keys %$items) {
1248
1248
  my $base = ($$dirInfo{Base} || 0) + $raf->Tell() - $size;
1249
1249
  my $dPos = 0;
1250
1250
  my $hdrLen = $start;
1251
+ # handle case where known trailer is the payload of a "DontRead" box (eg. 'inst')
1252
+ $trailer = $$trailer[3] if $$tagInfo{DontRead} and $trailer and $base == $$trailer[1];
1251
1253
  if ($$subdir{Base}) {
1252
1254
  my $localBase = eval $$subdir{Base};
1253
1255
  $dPos -= $localBase;
@@ -1729,6 +1731,7 @@ ItemID2: foreach $id (reverse sort { $a <=> $b } keys %$items) {
1729
1731
  # (note that $tag may be a binary Keys index here)
1730
1732
  foreach $tag (@addTags) {
1731
1733
  my $tagInfo = $$dirs{$tag} || $$newTags{$tag};
1734
+ next unless ref $tagInfo eq 'HASH'; # (shouldn't happen, but somehow there is forum17260)
1732
1735
  next if defined $$tagInfo{CanCreate} and not $$tagInfo{CanCreate};
1733
1736
  next if defined $$tagInfo{MediaType} and $$et{MediaType} ne $$tagInfo{MediaType};
1734
1737
  my $subdir = $$tagInfo{SubDirectory};
@@ -76,6 +76,8 @@ my %jpegMap = (
76
76
  MetaIFD => 'Meta',
77
77
  RMETA => 'APP5',
78
78
  SEAL => ['APP8','APP9'], # (note: add 'IFD0' if this is a possibility)
79
+ AROT => 'APP10',
80
+ JUMBF => 'APP11',
79
81
  Ducky => 'APP12',
80
82
  Photoshop => 'APP13',
81
83
  Adobe => 'APP14',
@@ -138,12 +140,12 @@ my %rawType = (
138
140
  # 2) any dependencies must be added to %excludeGroups
139
141
  my @delGroups = qw(
140
142
  Adobe AFCP APP0 APP1 APP2 APP3 APP4 APP5 APP6 APP7 APP8 APP9 APP10 APP11 APP12
141
- APP13 APP14 APP15 AudioKeys CanonVRD CIFF Ducky EXIF ExifIFD File FlashPix
143
+ APP13 APP14 APP15 AROT AudioKeys CanonVRD CIFF Ducky EXIF ExifIFD File FlashPix
142
144
  FotoStation GlobParamIFD GPS ICC_Profile IFD0 IFD1 Insta360 InteropIFD IPTC
143
- ItemList iTunes JFIF Jpeg2000 JUMBF Keys MakerNotes Meta MetaIFD Microsoft
144
- MIE MPF Nextbase NikonApp NikonCapture PDF PDF-update PhotoMechanic
145
- Photoshop PNG PNG-pHYs PrintIM QuickTime RMETA RSRC SEAL SubIFD Trailer
146
- UserData VideoKeys Vivo XML XML-* XMP XMP-*
145
+ ItemList iTunes JFIF Jpeg2000 JUMBF Keys MakerNotes Meta MetaIFD Microsoft MIE
146
+ MPF Nextbase NikonApp NikonCapture PDF PDF-update PhotoMechanic Photoshop PNG
147
+ PNG-pHYs PrintIM QuickTime RMETA RSRC SEAL SubIFD Trailer UserData VideoKeys
148
+ Vivo XML XML-* XMP XMP-*
147
149
  );
148
150
  # family 2 group names that we can delete
149
151
  my @delGroup2 = qw(
@@ -1604,6 +1606,8 @@ SET: foreach $set (@setList) {
1604
1606
  $$opts{Group} = $dstGrp if $dstGrp;
1605
1607
  my @rtnVals = $self->SetNewValue($dstTag, $val, %$opts);
1606
1608
  $rtnInfo{$dstTag} = $val if $rtnVals[0]; # tag was set successfully
1609
+ # return warning if any
1610
+ $rtnInfo{NextFreeTagKey(\%rtnInfo, 'Warning')} = $rtnVals[1] if $rtnVals[1];
1607
1611
  next;
1608
1612
  }
1609
1613
  foreach $tag (@{$setMatches{$set}}) {
@@ -5736,6 +5740,8 @@ sub WriteJPEG($$)
5736
5740
  $s =~ /^(Meta|META|Exif)\0\0/ and $dirName = 'Meta';
5737
5741
  } elsif ($marker == 0xe5) {
5738
5742
  $s =~ /^RMETA\0/ and $dirName = 'RMETA';
5743
+ } elsif ($marker == 0xea) {
5744
+ $s =~ /^AROT\0\0/ and $dirName = 'AROT';
5739
5745
  } elsif ($marker == 0xeb) {
5740
5746
  $s =~ /^JP/ and $dirName = 'JUMBF';
5741
5747
  } elsif ($marker == 0xec) {
@@ -6644,7 +6650,12 @@ sub WriteJPEG($$)
6644
6650
  $segType = 'SEAL';
6645
6651
  $$delGroup{SEAL} and $del = 1;
6646
6652
  }
6647
- } elsif ($marker == 0xeb) { # APP10 (JUMBF)
6653
+ } elsif ($marker == 0xea) { # APP10 (AROT)
6654
+ if ($$segDataPt =~ /^AROT\0\0/) {
6655
+ $segType = 'AROT';
6656
+ $$delGroup{AROT} and $del = 1;
6657
+ }
6658
+ } elsif ($marker == 0xeb) { # APP11 (JUMBF)
6648
6659
  if ($$segDataPt =~ /^JP/) {
6649
6660
  $segType = 'JUMBF';
6650
6661
  $$delGroup{JUMBF} and $del = 1;
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
50
50
  use Image::ExifTool::GPS;
51
51
  require Exporter;
52
52
 
53
- $VERSION = '3.73';
53
+ $VERSION = '3.74';
54
54
  @ISA = qw(Exporter);
55
55
  @EXPORT_OK = qw(EscapeXML UnescapeXML);
56
56
 
@@ -3830,7 +3830,7 @@ sub ParseXMPElement($$$;$$$$)
3830
3830
  for (;;) {
3831
3831
  my ($attr, $quote);
3832
3832
  if (length($attrs) < 2000) { # (do it the easy way if attributes aren't stupid long)
3833
- last unless $attrs =~ /(\S+)\s*=\s*(['"])/g;
3833
+ last unless $attrs =~ /(\S+?)\s*=\s*(['"])/g;
3834
3834
  ($attr, $quote) = ($1, $2);
3835
3835
  } else {
3836
3836
  # 13.23 patch to avoid capturing tons of garbage if XMP is corrupted
@@ -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 = '13.26';
32
+ $VERSION = '13.29';
33
33
  $RELEASE = '';
34
34
  @ISA = qw(Exporter);
35
35
  %EXPORT_TAGS = (
@@ -9213,10 +9213,14 @@ sub HandleTag($$$$;%)
9213
9213
  if ($start >= 0 and $start + $size <= $dLen) {
9214
9214
  $format = $$tagInfo{Format} || $$tagTablePtr{FORMAT};
9215
9215
  $format = $pfmt if not $format and $pfmt and $formatSize{$pfmt};
9216
- if ($format) {
9216
+ if (not $format) {
9217
+ $val = substr($$dataPt, $start, $size);
9218
+ } elsif (not $$tagInfo{ByteOrder}) {
9217
9219
  $val = ReadValue($dataPt, $start, $format, $$tagInfo{Count}, $size, \$rational);
9218
9220
  } else {
9219
- $val = substr($$dataPt, $start, $size);
9221
+ my $oldOrder = GetByteOrder(), SetByteOrder($$tagInfo{ByteOrder});
9222
+ $val = ReadValue($dataPt, $start, $format, $$tagInfo{Count}, $size, \$rational);
9223
+ SetByteOrder($oldOrder);
9220
9224
  }
9221
9225
  $binVal = substr($$dataPt, $start, $size) if $$self{OPTIONS}{SaveBin};
9222
9226
  } else {
@@ -2547,17 +2547,17 @@ Here is a complete list of groups for each of these families:
2547
2547
 
2548
2548
  =item Family 0 (Information Type):
2549
2549
 
2550
- AAC, AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP2,
2551
- APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon, CanonVRD,
2552
- Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File, FITS,
2553
- FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP, GM,
2554
- GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, Jpeg2000,
2555
- JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta, MIE, MIFF,
2556
- MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm, PanasonicRaw,
2557
- Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST, PNG,
2558
- PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor, Real,
2559
- Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent, Trailer,
2560
- VCard, Vorbis, WTV, XML, XMP, ZIP
2550
+ AAC, AFCP, AIFF, APE, APP0, APP1, APP10, APP11, APP12, APP13, APP14, APP15,
2551
+ APP2, APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon,
2552
+ CanonVRD, Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File,
2553
+ FITS, FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP,
2554
+ GM, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,
2555
+ Jpeg2000, JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta,
2556
+ MIE, MIFF, MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm,
2557
+ PanasonicRaw, Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST,
2558
+ PNG, PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor,
2559
+ Real, Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent,
2560
+ Trailer, VCard, Vorbis, WTV, XML, XMP, ZIP
2561
2561
 
2562
2562
  =item Family 1 (Specific Location):
2563
2563
 
@@ -1,6 +1,6 @@
1
1
  Summary: perl module for image data extraction
2
2
  Name: perl-Image-ExifTool
3
- Version: 13.26
3
+ Version: 13.29
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('13.26.0')
4
+ VERSION = Gem::Version.new('13.29.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: 13.26.0
4
+ version: 13.29.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: 2025-04-01 00:00:00.000000000 Z
12
+ date: 2025-04-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exiftool