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.
- checksums.yaml +4 -4
- data/bin/Changes +40 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/arg_files/exif2xmp.args +2 -1
- data/bin/arg_files/xmp2exif.args +2 -1
- data/bin/exiftool +16 -14
- data/bin/lib/Image/ExifTool/Canon.pm +2 -2
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +20 -8
- data/bin/lib/Image/ExifTool/LigoGPS.pm +16 -2
- data/bin/lib/Image/ExifTool/MPF.pm +5 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +9 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +54 -7
- data/bin/lib/Image/ExifTool/Pentax.pm +101 -1
- data/bin/lib/Image/ExifTool/Plot.pm +36 -15
- data/bin/lib/Image/ExifTool/QuickTime.pm +53 -5
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +70 -14
- data/bin/lib/Image/ExifTool/README +12 -2
- data/bin/lib/Image/ExifTool/Sony.pm +5 -0
- data/bin/lib/Image/ExifTool/TagLookup.pm +12 -2
- data/bin/lib/Image/ExifTool/TagNames.pod +131 -86
- data/bin/lib/Image/ExifTool/WriteExif.pl +2 -0
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +3 -0
- data/bin/lib/Image/ExifTool/Writer.pl +17 -6
- data/bin/lib/Image/ExifTool/XMP.pm +2 -2
- data/bin/lib/Image/ExifTool.pm +7 -3
- data/bin/lib/Image/ExifTool.pod +11 -11
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -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
|
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
|
-
|
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
|
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
|
30371
|
+
currently reads 107 different types of timed GPS metadata from video files.
|
30357
30372
|
|
30358
|
-
Tag Name
|
30359
|
-
--------
|
30360
|
-
Accelerometer
|
30361
|
-
AccelerometerData
|
30362
|
-
AngularVelocity
|
30363
|
-
CTMD
|
30364
|
-
CameraDateTime
|
30365
|
-
CameraModel
|
30366
|
-
Car
|
30367
|
-
|
30368
|
-
|
30369
|
-
|
30370
|
-
|
30371
|
-
|
30372
|
-
|
30373
|
-
|
30374
|
-
|
30375
|
-
|
30376
|
-
|
30377
|
-
|
30378
|
-
|
30379
|
-
|
30380
|
-
|
30381
|
-
|
30382
|
-
|
30383
|
-
|
30384
|
-
|
30385
|
-
|
30386
|
-
|
30387
|
-
|
30388
|
-
|
30389
|
-
|
30390
|
-
|
30391
|
-
|
30392
|
-
|
30393
|
-
|
30394
|
-
|
30395
|
-
|
30396
|
-
|
30397
|
-
|
30398
|
-
|
30399
|
-
|
30400
|
-
|
30401
|
-
|
30402
|
-
|
30403
|
-
|
30404
|
-
|
30405
|
-
|
30406
|
-
|
30407
|
-
|
30408
|
-
|
30409
|
-
|
30410
|
-
|
30411
|
-
|
30412
|
-
|
30413
|
-
|
30414
|
-
|
30415
|
-
|
30416
|
-
|
30417
|
-
|
30418
|
-
|
30419
|
-
|
30420
|
-
|
30421
|
-
|
30422
|
-
|
30423
|
-
|
30424
|
-
|
30425
|
-
|
30426
|
-
|
30427
|
-
|
30428
|
-
|
30429
|
-
|
30430
|
-
|
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
|
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
|
-
|
145
|
-
|
146
|
-
|
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 ==
|
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.
|
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
|
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
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -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.
|
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
|
-
$
|
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 {
|
data/bin/lib/Image/ExifTool.pod
CHANGED
@@ -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,
|
2551
|
-
APP3, APP4, APP5, APP6, APP7, APP8, APP9, ASF, Audible, Canon,
|
2552
|
-
Composite, DICOM, DjVu, DNG, Ducky, DV, EXE, EXIF, ExifTool, File,
|
2553
|
-
FLAC, Flash, FlashPix, FLIR, Font, FotoStation, GeoTiff, GIF, GIMP,
|
2554
|
-
GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,
|
2555
|
-
JSON, JUMBF, Leaf, LNK, Lytro, M2TS, MakerNotes, Matroska, Meta,
|
2556
|
-
MISB, MNG, MOI, MPC, MPEG, MPF, MXF, Ogg, OpenEXR, Opus, Palm,
|
2557
|
-
Parrot, PDF, PhotoCD, PhotoMechanic, Photoshop, PICT, PLIST,
|
2558
|
-
PostScript, PrintIM, Protobuf, PSP, QuickTime, Radiance, RAF, Rawzor,
|
2559
|
-
Red, RIFF, RSRC, RTF, SigmaRaw, Sony, Stim, SVG, Theora, Torrent,
|
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
|
|
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.
|
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-
|
12
|
+
date: 2025-04-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|