exiftool_vendored 12.37.0 → 12.41.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +73 -0
- data/bin/MANIFEST +2 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +45 -45
- data/bin/arg_files/exif2xmp.args +5 -0
- data/bin/arg_files/xmp2exif.args +6 -0
- data/bin/config_files/acdsee.config +6 -6
- data/bin/config_files/photoshop_paths.config +30 -7
- data/bin/config_files/picasa_faces.config +1 -1
- data/bin/config_files/pix4d.config +2 -2
- data/bin/config_files/tiff_version.config +2 -2
- data/bin/exiftool +100 -67
- data/bin/lib/File/RandomAccess.pm +1 -1
- data/bin/lib/File/RandomAccess.pod +2 -2
- data/bin/lib/Image/ExifTool/AES.pm +1 -1
- data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
- data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/APE.pm +1 -1
- data/bin/lib/Image/ExifTool/APP12.pm +1 -1
- data/bin/lib/Image/ExifTool/ASF.pm +1 -1
- data/bin/lib/Image/ExifTool/Apple.pm +1 -1
- data/bin/lib/Image/ExifTool/Audible.pm +1 -1
- data/bin/lib/Image/ExifTool/BMP.pm +1 -1
- data/bin/lib/Image/ExifTool/BPG.pm +1 -1
- data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
- data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/BuildTagLookup.pm +6 -4
- data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
- data/bin/lib/Image/ExifTool/Canon.pm +79 -5
- data/bin/lib/Image/ExifTool/CanonCustom.pm +13 -3
- data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
- data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
- data/bin/lib/Image/ExifTool/Casio.pm +1 -1
- data/bin/lib/Image/ExifTool/Charset.pm +1 -1
- data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
- data/bin/lib/Image/ExifTool/DJI.pm +1 -1
- data/bin/lib/Image/ExifTool/DNG.pm +1 -1
- data/bin/lib/Image/ExifTool/DPX.pm +1 -1
- data/bin/lib/Image/ExifTool/DV.pm +1 -1
- data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
- data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
- data/bin/lib/Image/ExifTool/EXE.pm +1 -1
- data/bin/lib/Image/ExifTool/Exif.pm +53 -21
- data/bin/lib/Image/ExifTool/FITS.pm +1 -1
- data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
- data/bin/lib/Image/ExifTool/FLIR.pm +16 -4
- data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
- data/bin/lib/Image/ExifTool/Flash.pm +1 -1
- data/bin/lib/Image/ExifTool/FlashPix.pm +1 -1
- data/bin/lib/Image/ExifTool/Font.pm +1 -1
- data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
- data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
- data/bin/lib/Image/ExifTool/GE.pm +1 -1
- data/bin/lib/Image/ExifTool/GIF.pm +1 -1
- data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
- data/bin/lib/Image/ExifTool/GPS.pm +1 -1
- data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
- data/bin/lib/Image/ExifTool/Geotag.pm +4 -3
- data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
- data/bin/lib/Image/ExifTool/H264.pm +1 -1
- data/bin/lib/Image/ExifTool/HP.pm +1 -1
- data/bin/lib/Image/ExifTool/HTML.pm +1 -1
- data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
- data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
- data/bin/lib/Image/ExifTool/ID3.pm +1 -1
- data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
- data/bin/lib/Image/ExifTool/ISO.pm +1 -1
- data/bin/lib/Image/ExifTool/ITC.pm +1 -1
- data/bin/lib/Image/ExifTool/Import.pm +1 -1
- data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
- data/bin/lib/Image/ExifTool/JPEG.pm +6 -2
- data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
- data/bin/lib/Image/ExifTool/JSON.pm +1 -1
- data/bin/lib/Image/ExifTool/JVC.pm +1 -1
- data/bin/lib/Image/ExifTool/Jpeg2000.pm +1 -1
- data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
- data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/LIF.pm +1 -1
- data/bin/lib/Image/ExifTool/LNK.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
- data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
- data/bin/lib/Image/ExifTool/Leaf.pm +1 -1
- data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
- data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
- data/bin/lib/Image/ExifTool/MIE.pm +1 -1
- data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
- data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/MNG.pm +1 -1
- data/bin/lib/Image/ExifTool/MOI.pm +1 -1
- data/bin/lib/Image/ExifTool/MPC.pm +1 -1
- data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
- data/bin/lib/Image/ExifTool/MPF.pm +1 -1
- data/bin/lib/Image/ExifTool/MRC.pm +1 -1
- data/bin/lib/Image/ExifTool/MWG.pm +1 -1
- data/bin/lib/Image/ExifTool/MXF.pm +1 -1
- data/bin/lib/Image/ExifTool/MacOS.pm +10 -10
- data/bin/lib/Image/ExifTool/MakerNotes.pm +13 -2
- data/bin/lib/Image/ExifTool/Matroska.pm +9 -5
- data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
- data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
- data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
- data/bin/lib/Image/ExifTool/Nikon.pm +1062 -189
- data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
- data/bin/lib/Image/ExifTool/NikonCustom.pm +519 -6
- data/bin/lib/Image/ExifTool/NikonSettings.pm +17 -18
- data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
- data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
- data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
- data/bin/lib/Image/ExifTool/Olympus.pm +8 -7
- data/bin/lib/Image/ExifTool/OpenEXR.pm +5 -3
- data/bin/lib/Image/ExifTool/Opus.pm +1 -1
- data/bin/lib/Image/ExifTool/Other.pm +1 -1
- data/bin/lib/Image/ExifTool/PCX.pm +1 -1
- data/bin/lib/Image/ExifTool/PDF.pm +1 -1
- data/bin/lib/Image/ExifTool/PGF.pm +1 -1
- data/bin/lib/Image/ExifTool/PICT.pm +1 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
- data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
- data/bin/lib/Image/ExifTool/PNG.pm +28 -8
- data/bin/lib/Image/ExifTool/PPM.pm +1 -1
- data/bin/lib/Image/ExifTool/PSP.pm +1 -1
- data/bin/lib/Image/ExifTool/Palm.pm +1 -1
- data/bin/lib/Image/ExifTool/Panasonic.pm +1 -1
- data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
- data/bin/lib/Image/ExifTool/Pentax.pm +3 -2
- data/bin/lib/Image/ExifTool/PhaseOne.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
- data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
- data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
- data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
- data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
- data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +10 -6
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +16 -5
- data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
- data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
- data/bin/lib/Image/ExifTool/RTF.pm +1 -1
- data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
- data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
- data/bin/lib/Image/ExifTool/Real.pm +1 -1
- data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
- data/bin/lib/Image/ExifTool/Red.pm +1 -1
- data/bin/lib/Image/ExifTool/Ricoh.pm +1 -1
- data/bin/lib/Image/ExifTool/Samsung.pm +6 -2
- data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
- data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
- data/bin/lib/Image/ExifTool/Shift.pl +3 -1
- data/bin/lib/Image/ExifTool/Shortcuts.pm +3 -2
- data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
- data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
- data/bin/lib/Image/ExifTool/Sony.pm +11 -5
- data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
- data/bin/lib/Image/ExifTool/Stim.pm +1 -1
- data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
- data/bin/lib/Image/ExifTool/TagLookup.pm +6385 -6290
- data/bin/lib/Image/ExifTool/TagNames.pod +361 -22
- data/bin/lib/Image/ExifTool/Text.pm +1 -1
- data/bin/lib/Image/ExifTool/Theora.pm +1 -1
- data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
- data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
- data/bin/lib/Image/ExifTool/VCard.pm +1 -1
- data/bin/lib/Image/ExifTool/Validate.pm +1 -1
- data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
- data/bin/lib/Image/ExifTool/WTV.pm +1 -1
- data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePNG.pl +30 -10
- data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
- data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +9 -4
- data/bin/lib/Image/ExifTool/WriteXMP.pl +3 -1
- data/bin/lib/Image/ExifTool/Writer.pl +6 -5
- data/bin/lib/Image/ExifTool/XMP.pm +51 -25
- data/bin/lib/Image/ExifTool/XMP2.pl +3 -2
- data/bin/lib/Image/ExifTool/XMPStruct.pl +22 -8
- data/bin/lib/Image/ExifTool/ZIP.pm +10 -2
- data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
- data/bin/lib/Image/ExifTool/iWork.pm +1 -1
- data/bin/lib/Image/ExifTool.pm +23 -6
- data/bin/lib/Image/ExifTool.pod +71 -69
- data/bin/perl-Image-ExifTool.spec +43 -43
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
data/bin/exiftool
CHANGED
@@ -8,9 +8,10 @@
|
|
8
8
|
# (See html/history.html for revision history)
|
9
9
|
#------------------------------------------------------------------------------
|
10
10
|
use strict;
|
11
|
+
use warnings;
|
11
12
|
require 5.004;
|
12
13
|
|
13
|
-
my $version = '12.
|
14
|
+
my $version = '12.41';
|
14
15
|
|
15
16
|
# add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
|
16
17
|
BEGIN {
|
@@ -109,6 +110,8 @@ my %database; # lookup for database information based on file name (in Exi
|
|
109
110
|
my %filterExt; # lookup for filtered extensions
|
110
111
|
my %ignore; # directory names to ignore
|
111
112
|
my $ignoreHidden; # flag to ignore hidden files
|
113
|
+
my %outComma; # flag that output text file needs a comma
|
114
|
+
my %outTrailer; # trailer for output text file
|
112
115
|
my %preserveTime; # preserved timestamps for files
|
113
116
|
my %printFmt; # the contents of the print format file
|
114
117
|
my %setTags; # hash of list references for tags to set from files
|
@@ -441,6 +444,8 @@ undef %database;
|
|
441
444
|
undef %endDir;
|
442
445
|
undef %filterExt;
|
443
446
|
undef %ignore;
|
447
|
+
undef %outComma;
|
448
|
+
undef %outTrailer;
|
444
449
|
undef %printFmt;
|
445
450
|
undef %preserveTime;
|
446
451
|
undef %setTags;
|
@@ -1821,8 +1826,21 @@ if ($filtered and not $validFile) {
|
|
1821
1826
|
PrintCSV() if $csv and not $isWriting;
|
1822
1827
|
|
1823
1828
|
# print folder/file trailer if necessary
|
1824
|
-
|
1825
|
-
|
1829
|
+
if ($textOut) {
|
1830
|
+
foreach (keys %outTrailer) {
|
1831
|
+
next unless $outTrailer{$_};
|
1832
|
+
if ($mt->Open(\*OUTTRAIL, $_, '>>')) {
|
1833
|
+
my $fp = \*OUTTRAIL;
|
1834
|
+
print $fp $outTrailer{$_};
|
1835
|
+
close $fp;
|
1836
|
+
} else {
|
1837
|
+
Error("Error appending to $_\n");
|
1838
|
+
}
|
1839
|
+
}
|
1840
|
+
} else {
|
1841
|
+
print $sectTrailer if $sectTrailer;
|
1842
|
+
print $fileTrailer if $fileTrailer and not $fileHeader;
|
1843
|
+
}
|
1826
1844
|
|
1827
1845
|
my $totWr = $countGoodWr + $countBadWr + $countSameWr + $countCopyWr +
|
1828
1846
|
$countGoodCr + $countBadCr;
|
@@ -1969,6 +1987,7 @@ sub GetImageInfo($$)
|
|
1969
1987
|
} else {
|
1970
1988
|
$pipe = qq{bzip2 -dc "$file" |};
|
1971
1989
|
}
|
1990
|
+
$$et{TRUST_PIPE} = 1;
|
1972
1991
|
}
|
1973
1992
|
}
|
1974
1993
|
# evaluate -if expression for conditional processing
|
@@ -2159,6 +2178,9 @@ sub GetImageInfo($$)
|
|
2159
2178
|
$tmpText = $outfile unless $append;
|
2160
2179
|
}
|
2161
2180
|
|
2181
|
+
# restore state of comma flag for this file if appending
|
2182
|
+
$comma = $outComma{$outfile} if $append and ($textOverwrite & 0x02);
|
2183
|
+
|
2162
2184
|
# print the results for this file
|
2163
2185
|
if (%printFmt) {
|
2164
2186
|
# output using print format file (-p) option
|
@@ -2220,7 +2242,7 @@ sub GetImageInfo($$)
|
|
2220
2242
|
if ($fp) {
|
2221
2243
|
# print file header (only once)
|
2222
2244
|
if ($fileHeader) {
|
2223
|
-
print $fp $fileHeader;
|
2245
|
+
print $fp $fileHeader unless defined $outfile and ($created{$outfile} or $appended{$outfile});
|
2224
2246
|
undef $fileHeader unless $textOut;
|
2225
2247
|
}
|
2226
2248
|
if ($html) {
|
@@ -2239,12 +2261,13 @@ sub GetImageInfo($$)
|
|
2239
2261
|
next unless defined $forcePrint;
|
2240
2262
|
$grp0 = $grp1 = 'Unknown';
|
2241
2263
|
}
|
2264
|
+
# add groups from structure fields
|
2265
|
+
AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
|
2242
2266
|
next if $groups{$grp1};
|
2243
2267
|
# include family 0 and 1 groups in URI except for internal tags
|
2244
2268
|
# (this will put internal tags in the "XML" group on readback)
|
2245
2269
|
$groups{$grp1} = $grp0;
|
2246
2270
|
push @groups, $grp1;
|
2247
|
-
AddGroups($$info{$tag}, $grp0, \%groups, \@groups) if ref $$info{$tag};
|
2248
2271
|
}
|
2249
2272
|
foreach $grp1 (@groups) {
|
2250
2273
|
my $grp = $groups{$grp1};
|
@@ -2672,9 +2695,17 @@ TAG: foreach $tag (@foundTags) {
|
|
2672
2695
|
}
|
2673
2696
|
}
|
2674
2697
|
if ($outfile) {
|
2675
|
-
|
2676
|
-
|
2677
|
-
|
2698
|
+
if ($textOverwrite & 0x02) {
|
2699
|
+
# save state of this file if we may be appending
|
2700
|
+
$outComma{$outfile} = $comma;
|
2701
|
+
$outTrailer{$outfile} = '';
|
2702
|
+
$outTrailer{$outfile} .= $sectTrailer and $sectTrailer = '' if $sectTrailer;
|
2703
|
+
$outTrailer{$outfile} .= $fileTrailer if $fileTrailer;
|
2704
|
+
} else {
|
2705
|
+
# write section and file trailers before closing the file
|
2706
|
+
print $fp $sectTrailer and $sectTrailer = '' if $sectTrailer;
|
2707
|
+
print $fp $fileTrailer if $fileTrailer;
|
2708
|
+
}
|
2678
2709
|
close($fp);
|
2679
2710
|
undef $tmpText;
|
2680
2711
|
if ($lineCount) {
|
@@ -2924,7 +2955,7 @@ sub SetImageInfo($$$)
|
|
2924
2955
|
}
|
2925
2956
|
}
|
2926
2957
|
if (defined $outfile) {
|
2927
|
-
$verbose and print $vout "'${infile}' --> '${outfile}'\n";
|
2958
|
+
defined $verbose and print $vout "'${infile}' --> '${outfile}'\n";
|
2928
2959
|
# create output directory if necessary
|
2929
2960
|
CreateDirectory($outfile);
|
2930
2961
|
# set temporary file (automatically erased on abnormal exit)
|
@@ -4457,7 +4488,7 @@ B<exiftool> [I<OPTIONS>] -I<TAG>[+-E<lt>]=[I<VALUE>]... I<FILE>...
|
|
4457
4488
|
=head2 Copying
|
4458
4489
|
|
4459
4490
|
B<exiftool> [I<OPTIONS>] B<-tagsFromFile> I<SRCFILE>
|
4460
|
-
[-I<
|
4491
|
+
[-[I<DSTTAG>E<lt>]I<SRCTAG>...] I<FILE>...
|
4461
4492
|
|
4462
4493
|
=head2 Other
|
4463
4494
|
|
@@ -4497,48 +4528,48 @@ supported by ExifTool (r = read, w = write, c = create):
|
|
4497
4528
|
|
4498
4529
|
File Types
|
4499
4530
|
------------+-------------+-------------+-------------+------------
|
4500
|
-
360 r/w | DR4 r/w/c | JNG r/w |
|
4501
|
-
3FR r | DSS r | JP2 r/w |
|
4502
|
-
3G2 r/w | DV r | JPEG r/w |
|
4503
|
-
3GP r/w | DVB r/w | JSON r |
|
4504
|
-
A r | DVR-MS r | JXL r |
|
4505
|
-
AA r | DYLIB r | K25 r |
|
4506
|
-
AAE r | EIP r | KDC r |
|
4507
|
-
AAX r/w | EPS r/w | KEY r |
|
4508
|
-
ACR r | EPUB r | LA r |
|
4509
|
-
AFM r | ERF r/w | LFP r |
|
4510
|
-
AI r/w | EXE r | LIF r |
|
4511
|
-
AIFF r | EXIF r/w/c | LNK r |
|
4512
|
-
APE r | EXR r | LRV r/w |
|
4513
|
-
ARQ r/w | EXV r/w/c | M2TS r |
|
4514
|
-
ARW r/w | F4A/V r/w | M4A/V r/w |
|
4515
|
-
ASF r | FFF r/w | MACOS r |
|
4516
|
-
AVI r | FITS r | MAX r |
|
4517
|
-
AVIF r/w | FLA r | MEF r/w |
|
4518
|
-
AZW r | FLAC r | MIE r/w/ |
|
4519
|
-
BMP r | FLIF r/w | MIFF r c |
|
4520
|
-
BPG r | FLV r | MKA r |
|
4521
|
-
BTF r | FPF r | MKS r |
|
4522
|
-
CHM r | FPX r | MKV r |
|
4523
|
-
COS r | GIF r/w | MNG r/w |
|
4524
|
-
CR2 r/w | GPR r/w | MOBI r |
|
4525
|
-
CR3 r/w | GZ r | MODD r |
|
4526
|
-
CRM r/w | HDP r/w | MOI r |
|
4527
|
-
CRW r/w | HDR r | MOS r/w |
|
4528
|
-
CS1 r/w | HEIC r/w | MOV r/w |
|
4529
|
-
CSV r | HEIF r/w | MP3 r |
|
4530
|
-
CZI r | HTML r | MP4 r/w |
|
4531
|
-
DCM r | ICC r/w/c | MPC r |
|
4532
|
-
DCP r/w | ICS r | MPG r |
|
4533
|
-
DCR r | IDML r | MPO r/w |
|
4534
|
-
DFONT r | IIQ r/w | MQV r/w |
|
4535
|
-
DIVX r | IND r/w | MRC r |
|
4536
|
-
DJVU r | INSP r/w | MRW r/w |
|
4537
|
-
DLL r | INSV r | MXF r |
|
4538
|
-
DNG r/w | INX r | NEF r/w |
|
4539
|
-
DOC r | ISO r |
|
4540
|
-
DOCX r | ITC r |
|
4541
|
-
DPX r | J2C r |
|
4531
|
+
360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
|
4532
|
+
3FR r | DSS r | JP2 r/w | ODP r | RIFF r
|
4533
|
+
3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
|
4534
|
+
3GP r/w | DVB r/w | JSON r | ODT r | RTF r
|
4535
|
+
A r | DVR-MS r | JXL r | OFR r | RW2 r/w
|
4536
|
+
AA r | DYLIB r | K25 r | OGG r | RWL r/w
|
4537
|
+
AAE r | EIP r | KDC r | OGV r | RWZ r
|
4538
|
+
AAX r/w | EPS r/w | KEY r | ONP r | RM r
|
4539
|
+
ACR r | EPUB r | LA r | OPUS r | SEQ r
|
4540
|
+
AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
|
4541
|
+
AI r/w | EXE r | LIF r | ORI r/w | SO r
|
4542
|
+
AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
|
4543
|
+
APE r | EXR r | LRV r/w | PAC r | SRF r
|
4544
|
+
ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
|
4545
|
+
ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
|
4546
|
+
ASF r | FFF r/w | MACOS r | PCD r | SWF r
|
4547
|
+
AVI r | FITS r | MAX r | PCX r | THM r/w
|
4548
|
+
AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
|
4549
|
+
AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
|
4550
|
+
BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
|
4551
|
+
BPG r | FLV r | MKA r | PFA r | TTF r
|
4552
|
+
BTF r | FPF r | MKS r | PFB r | TXT r
|
4553
|
+
CHM r | FPX r | MKV r | PFM r | VCF r
|
4554
|
+
COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
|
4555
|
+
CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
|
4556
|
+
CR3 r/w | GZ r | MODD r | PLIST r | WAV r
|
4557
|
+
CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
|
4558
|
+
CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
|
4559
|
+
CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
|
4560
|
+
CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
|
4561
|
+
CZI r | HTML r | MP4 r/w | PPT r | WMV r
|
4562
|
+
DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
|
4563
|
+
DCP r/w | ICS r | MPG r | PS r/w | WV r
|
4564
|
+
DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
|
4565
|
+
DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
|
4566
|
+
DIVX r | IND r/w | MRC r | PSP r | XLS r
|
4567
|
+
DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
|
4568
|
+
DLL r | INSV r | MXF r | R3D r | XMP r/w/c
|
4569
|
+
DNG r/w | INX r | NEF r/w | RA r | ZIP r
|
4570
|
+
DOC r | ISO r | NKSC r/w | RAF r/w |
|
4571
|
+
DOCX r | ITC r | NRW r/w | RAM r |
|
4572
|
+
DPX r | J2C r | NUMBERS r | RAR r |
|
4542
4573
|
|
4543
4574
|
Meta Information
|
4544
4575
|
----------------------+----------------------+---------------------
|
@@ -5134,13 +5165,14 @@ The following examples demonstrate basic use of the B<-csv> option:
|
|
5134
5165
|
# update metadata for all images in a directory from CSV file
|
5135
5166
|
exiftool -csv=a.csv dir
|
5136
5167
|
|
5137
|
-
|
5138
|
-
the API MissingTagValue is set to an empty string
|
5168
|
+
When importing, empty values are ignored unless the B<-f> option is used and
|
5169
|
+
the API MissingTagValue is set to an empty string (in which case the tag is
|
5139
5170
|
deleted). Also, FileName and Directory columns are ignored if they exist
|
5140
|
-
(ie. ExifTool will not attempt to write these tags with a CSV import)
|
5141
|
-
force a tag to be deleted, use the B<-f>
|
5142
|
-
the CSV file (or to the MissingTagValue
|
5143
|
-
Multiple databases may be imported in a
|
5171
|
+
(ie. ExifTool will not attempt to write these tags with a CSV import), but
|
5172
|
+
all other columns are imported. To force a tag to be deleted, use the B<-f>
|
5173
|
+
option and set the value to "-" in the CSV file (or to the MissingTagValue
|
5174
|
+
if this API option was used). Multiple databases may be imported in a
|
5175
|
+
single command.
|
5144
5176
|
|
5145
5177
|
When exporting a CSV file, the B<-g> or B<-G> option adds group names to the
|
5146
5178
|
tag headings. If the B<-a> option is used to allow duplicate tag names, the
|
@@ -5434,7 +5466,7 @@ with this command:
|
|
5434
5466
|
|
5435
5467
|
produces output like this:
|
5436
5468
|
|
5437
|
-
-- Generated by ExifTool 12.
|
5469
|
+
-- Generated by ExifTool 12.41 --
|
5438
5470
|
File: a.jpg - 2003:10:31 15:44:19
|
5439
5471
|
(f/5.6, 1/60s, ISO 100)
|
5440
5472
|
File: b.jpg - 2006:05:23 11:57:38
|
@@ -5553,7 +5585,9 @@ level greater than 0, most other options are ignored and normal console
|
|
5553
5585
|
output is suppressed unless specific tags are extracted. Using B<-v0>
|
5554
5586
|
causes the console output buffer to be flushed after each line (which may be
|
5555
5587
|
useful to avoid delays when piping exiftool output), and prints the name of
|
5556
|
-
each processed file when writing
|
5588
|
+
each processed file when writing and the new file name when renaming,
|
5589
|
+
moving or copying. Verbose levels above B<-v0> do not flush after each
|
5590
|
+
line. Also see the B<-progress> option.
|
5557
5591
|
|
5558
5592
|
=item B<-w>[+|!] I<EXT> or I<FMT> (B<-textOut>)
|
5559
5593
|
|
@@ -5716,7 +5750,7 @@ example, the following pairs of commands give the same result:
|
|
5716
5750
|
4) Adding the B<-v> option to B<-W> sends a list of the tags and output file
|
5717
5751
|
names to the console instead of giving a verbose dump of the entire file.
|
5718
5752
|
(Unless appending all output to one file for each source file by using
|
5719
|
-
B<-W+> with an output file I<FMT> that does not contain %t,
|
5753
|
+
B<-W+> with an output file I<FMT> that does not contain %t, %g, %s or %o.)
|
5720
5754
|
|
5721
5755
|
5) Individual list items are stored in separate files when B<-W> is combined
|
5722
5756
|
with B<-b>, but note that for separate files to be created %c or %C must be
|
@@ -5766,11 +5800,10 @@ an XMP extension for the output file.
|
|
5766
5800
|
=item B<-a>, B<--a> (B<-duplicates>, B<--duplicates>)
|
5767
5801
|
|
5768
5802
|
Allow (B<-a>) or suppress (B<--a>) duplicate tag names to be extracted. By
|
5769
|
-
default, duplicate tags are suppressed when reading unless the B<-ee> or
|
5770
|
-
|
5771
|
-
|
5772
|
-
|
5773
|
-
when copying.
|
5803
|
+
default, duplicate tags are suppressed when reading unless the B<-ee> or B<-X>
|
5804
|
+
options are used or the Duplicates option is enabled in the configuration file.
|
5805
|
+
When writing, this option allows multiple Warning messages to be shown.
|
5806
|
+
Duplicate tags are always extracted when copying.
|
5774
5807
|
|
5775
5808
|
=item B<-e> (B<--composite>)
|
5776
5809
|
|
@@ -7248,7 +7281,7 @@ the commands if B<-execute> was used).
|
|
7248
7281
|
|
7249
7282
|
=head1 AUTHOR
|
7250
7283
|
|
7251
|
-
Copyright 2003-
|
7284
|
+
Copyright 2003-2022, Phil Harvey
|
7252
7285
|
|
7253
7286
|
This is free software; you can redistribute it and/or modify it under the
|
7254
7287
|
same terms as Perl itself.
|
@@ -25,7 +25,7 @@
|
|
25
25
|
#
|
26
26
|
# May also be used for string i/o (just pass a scalar reference)
|
27
27
|
#
|
28
|
-
# Legal: Copyright (c) 2003-
|
28
|
+
# Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
|
29
29
|
# This library is free software; you can redistribute it and/or
|
30
30
|
# modify it under the same terms as Perl itself.
|
31
31
|
#------------------------------------------------------------------------------
|
@@ -3,7 +3,7 @@
|
|
3
3
|
#
|
4
4
|
# Description: Buffer to support random access reading of sequential file
|
5
5
|
#
|
6
|
-
# Legal: Copyright (c) 2003-
|
6
|
+
# Legal: Copyright (c) 2003-2022 Phil Harvey (philharvey66 at gmail.com)
|
7
7
|
# This library is free software; you can redistribute it and/or
|
8
8
|
# modify it under the same terms as Perl itself.
|
9
9
|
#------------------------------------------------------------------------------
|
@@ -236,7 +236,7 @@ the end of file is not allowed.
|
|
236
236
|
|
237
237
|
=head1 AUTHOR
|
238
238
|
|
239
|
-
Copyright 2003-
|
239
|
+
Copyright 2003-2022 Phil Harvey (philharvey66 at gmail.com)
|
240
240
|
|
241
241
|
This library is free software; you can redistribute it and/or modify it
|
242
242
|
under the same terms as Perl itself.
|
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
|
|
477
477
|
|
478
478
|
=head1 AUTHOR
|
479
479
|
|
480
|
-
Copyright 2003-
|
480
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
481
481
|
|
482
482
|
This library is free software; you can redistribute it and/or modify it
|
483
483
|
under the same terms as Perl itself.
|
@@ -259,7 +259,7 @@ scanning for AFCP information.
|
|
259
259
|
|
260
260
|
=head1 AUTHOR
|
261
261
|
|
262
|
-
Copyright 2003-
|
262
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
263
263
|
|
264
264
|
This library is free software; you can redistribute it and/or modify it
|
265
265
|
under the same terms as Perl itself.
|
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
|
|
287
287
|
|
288
288
|
=head1 AUTHOR
|
289
289
|
|
290
|
-
Copyright 2003-
|
290
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
291
291
|
|
292
292
|
This library is free software; you can redistribute it and/or modify it
|
293
293
|
under the same terms as Perl itself.
|
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
|
|
263
263
|
|
264
264
|
=head1 AUTHOR
|
265
265
|
|
266
|
-
Copyright 2003-
|
266
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
267
267
|
|
268
268
|
This library is free software; you can redistribute it and/or modify it
|
269
269
|
under the same terms as Perl itself.
|
@@ -305,7 +305,7 @@ APP12 meta information.
|
|
305
305
|
|
306
306
|
=head1 AUTHOR
|
307
307
|
|
308
|
-
Copyright 2003-
|
308
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
309
309
|
|
310
310
|
This library is free software; you can redistribute it and/or modify it
|
311
311
|
under the same terms as Perl itself.
|
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
|
|
876
876
|
|
877
877
|
=head1 AUTHOR
|
878
878
|
|
879
|
-
Copyright 2003-
|
879
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
880
880
|
|
881
881
|
This library is free software; you can redistribute it and/or modify it
|
882
882
|
under the same terms as Perl itself.
|
@@ -149,7 +149,7 @@ Apple maker notes in EXIF information.
|
|
149
149
|
|
150
150
|
=head1 AUTHOR
|
151
151
|
|
152
|
-
Copyright 2003-
|
152
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
153
153
|
|
154
154
|
This library is free software; you can redistribute it and/or modify it
|
155
155
|
under the same terms as Perl itself.
|
@@ -291,7 +291,7 @@ information from Audible audio books.
|
|
291
291
|
|
292
292
|
=head1 AUTHOR
|
293
293
|
|
294
|
-
Copyright 2003-
|
294
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
295
295
|
|
296
296
|
This library is free software; you can redistribute it and/or modify it
|
297
297
|
under the same terms as Perl itself.
|
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
|
|
335
335
|
|
336
336
|
=head1 AUTHOR
|
337
337
|
|
338
|
-
Copyright 2003-
|
338
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
339
339
|
|
340
340
|
This library is free software; you can redistribute it and/or modify it
|
341
341
|
under the same terms as Perl itself.
|
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
|
|
231
231
|
|
232
232
|
=head1 AUTHOR
|
233
233
|
|
234
|
-
Copyright 2003-
|
234
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
235
235
|
|
236
236
|
This library is free software; you can redistribute it and/or modify it
|
237
237
|
under the same terms as Perl itself.
|
@@ -445,7 +445,7 @@ compression ability).
|
|
445
445
|
|
446
446
|
=head1 AUTHOR
|
447
447
|
|
448
|
-
Copyright 2003-
|
448
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
449
449
|
Copyright 2002, Leon Bottou and Yann Le Cun
|
450
450
|
Copyright 2001, AT&T
|
451
451
|
Copyright 1999-2001, LizardTech Inc.
|
@@ -275,7 +275,7 @@ information in BigTIFF images.
|
|
275
275
|
|
276
276
|
=head1 AUTHOR
|
277
277
|
|
278
|
-
Copyright 2003-
|
278
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
279
279
|
|
280
280
|
This library is free software; you can redistribute it and/or modify it
|
281
281
|
under the same terms as Perl itself.
|
@@ -669,7 +669,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
|
|
669
669
|
|
670
670
|
~head1 AUTHOR
|
671
671
|
|
672
|
-
Copyright 2003-
|
672
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
673
673
|
|
674
674
|
This library is free software; you can redistribute it and/or modify it
|
675
675
|
under the same terms as Perl itself.
|
@@ -905,8 +905,10 @@ TagID: foreach $tagID (@keys) {
|
|
905
905
|
foreach (@grps) {
|
906
906
|
warn "Group name starts with 'ID-' for $short $name\n" if /^ID-/i;
|
907
907
|
}
|
908
|
-
if ($isXMP and not $$tagInfo{Avoid} and not $$tagInfo{Struct}
|
909
|
-
|
908
|
+
if ($isXMP and not $$tagInfo{Avoid} and not $$tagInfo{Struct} and
|
909
|
+
($$tagInfo{Writable} or $$table{WRITABLE}))
|
910
|
+
{
|
911
|
+
$dupXmpTag{$name} and warn "Duplicate writable XMP tag $name\n";
|
910
912
|
$dupXmpTag{$name} = 1;
|
911
913
|
}
|
912
914
|
# validate Name (must not start with a digit or else XML output will not be valid;
|
@@ -2760,7 +2762,7 @@ Returned list of writable pseudo tags.
|
|
2760
2762
|
|
2761
2763
|
=head1 AUTHOR
|
2762
2764
|
|
2763
|
-
Copyright 2003-
|
2765
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
2764
2766
|
|
2765
2767
|
This library is free software; you can redistribute it and/or modify it
|
2766
2768
|
under the same terms as Perl itself.
|
@@ -307,7 +307,7 @@ specification.
|
|
307
307
|
|
308
308
|
=head1 AUTHOR
|
309
309
|
|
310
|
-
Copyright 2003-
|
310
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
311
311
|
|
312
312
|
This library is free software; you can redistribute it and/or modify it
|
313
313
|
under the same terms as Perl itself.
|
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
|
|
88
88
|
sub ProcessExifInfo($$$);
|
89
89
|
sub SwapWords($);
|
90
90
|
|
91
|
-
$VERSION = '4.
|
91
|
+
$VERSION = '4.57';
|
92
92
|
|
93
93
|
# Note: Removed 'USM' from 'L' lenses since it is redundant - PH
|
94
94
|
# (or is it? Ref 32 shows 5 non-USM L-type lenses)
|
@@ -208,6 +208,7 @@ $VERSION = '4.55';
|
|
208
208
|
53 => 'Canon EF-S 18-55mm f/3.5-5.6 III', #Jon Charnas
|
209
209
|
54 => 'Canon EF-S 55-250mm f/4-5.6 IS II', #47
|
210
210
|
60 => 'Irix 11mm f/4', #50
|
211
|
+
63 => 'Irix 30mm F1.4 Dragonfly', #IB
|
211
212
|
80 => 'Canon TS-E 50mm f/2.8L Macro', #42
|
212
213
|
81 => 'Canon TS-E 90mm f/2.8L Macro', #42
|
213
214
|
82 => 'Canon TS-E 135mm f/4L Macro', #42
|
@@ -599,6 +600,9 @@ $VERSION = '4.55';
|
|
599
600
|
'61182.25' => 'Canon RF 100-400mm F5.6-8 IS USM + RF1.4x', #42 (NC)
|
600
601
|
'61182.26' => 'Canon RF 100-400mm F5.6-8 IS USM + RF2x', #42 (NC)
|
601
602
|
'61182.27' => 'Canon RF 16mm F2.8 STM', #42
|
603
|
+
'61182.28' => 'Canon RF 400mm F2.8L IS USM', #IB
|
604
|
+
'61182.29' => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
|
605
|
+
'61182.30' => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
|
602
606
|
#'61182.xx' => 'Canon RF 100mm F2.8L MACRO IS USM',
|
603
607
|
65535 => 'n/a',
|
604
608
|
);
|
@@ -970,8 +974,8 @@ my %canonQuality = (
|
|
970
974
|
4 => 'RAW',
|
971
975
|
5 => 'Superfine',
|
972
976
|
7 => 'CRAW', #42
|
973
|
-
130 => '
|
974
|
-
131 => '
|
977
|
+
130 => 'Light (RAW)', #github#119
|
978
|
+
131 => 'Standard (RAW)', #github#119
|
975
979
|
);
|
976
980
|
my %canonImageSize = (
|
977
981
|
-1 => 'n/a',
|
@@ -1018,7 +1022,7 @@ my %canonWhiteBalance = (
|
|
1018
1022
|
20 => 'PC Set4', #PH
|
1019
1023
|
21 => 'PC Set5', #PH
|
1020
1024
|
# 22 - Custom 2?
|
1021
|
-
23 => 'Auto (ambience priority)', #PH (5DS)
|
1025
|
+
23 => 'Auto (ambience priority)', #PH (5DS) (perhaps this needs re-thinking?: forum13295)
|
1022
1026
|
# 30 - Click White Balance?
|
1023
1027
|
# 31 - Shot Settings?
|
1024
1028
|
# 137 - Tungsten?
|
@@ -2053,6 +2057,13 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
2053
2057
|
TagTable => 'Image::ExifTool::Canon::HDRInfo',
|
2054
2058
|
}
|
2055
2059
|
},
|
2060
|
+
0x4026 => { #github#119
|
2061
|
+
Name => 'LogInfo',
|
2062
|
+
SubDirectory => {
|
2063
|
+
Validate => 'Image::ExifTool::Canon::Validate($dirData,$subdirStart,$size)',
|
2064
|
+
TagTable => 'Image::ExifTool::Canon::LogInfo',
|
2065
|
+
}
|
2066
|
+
},
|
2056
2067
|
0x4028 => { #PH
|
2057
2068
|
Name => 'AFConfig', # (AFTabInfo)
|
2058
2069
|
SubDirectory => {
|
@@ -2126,6 +2137,7 @@ my %offOn = ( 0 => 'Off', 1 => 'On' );
|
|
2126
2137
|
4 => 'Continuous, Low', #PH
|
2127
2138
|
5 => 'Continuous, High', #PH
|
2128
2139
|
6 => 'Silent Single', #PH
|
2140
|
+
8 => 'Continuous, High+', #WolfgangGulcker
|
2129
2141
|
# ref A: https://exiftool.org/forum/index.php/topic,5701.msg27843.html#msg27843
|
2130
2142
|
9 => 'Single, Silent', #A
|
2131
2143
|
10 => 'Continuous, Silent', #A
|
@@ -6789,6 +6801,9 @@ my %ciMaxFocal = (
|
|
6789
6801
|
284 => 'Canon RF 100-400mm F5.6-8 IS USM + RF1.4x', #42 (NC)
|
6790
6802
|
285 => 'Canon RF 100-400mm F5.6-8 IS USM + RF2x', #42 (NC)
|
6791
6803
|
288 => 'Canon RF 16mm F2.8 STM', #42
|
6804
|
+
289 => 'Canon RF 400mm F2.8L IS USM', #IB
|
6805
|
+
290 => 'Canon RF 400mm F2.8L IS USM + RF1.4x', #IB
|
6806
|
+
291 => 'Canon RF 400mm F2.8L IS USM + RF2x', #IB
|
6792
6807
|
#xxx => 'Canon RF 100mm F2.8L MACRO IS USM',
|
6793
6808
|
# Note: add new RF lenses to %canonLensTypes with ID 61182
|
6794
6809
|
},
|
@@ -8701,6 +8716,65 @@ my %filterConv = (
|
|
8701
8716
|
# 3 - maybe related to AutoImageAlign?
|
8702
8717
|
);
|
8703
8718
|
|
8719
|
+
# More color information (MakerNotes tag 0x4026) (ref github issue #119)
|
8720
|
+
%Image::ExifTool::Canon::LogInfo = (
|
8721
|
+
%binaryDataAttrs,
|
8722
|
+
FORMAT => 'int32s',
|
8723
|
+
FIRST_ENTRY => 1,
|
8724
|
+
PRIORITY => 0,
|
8725
|
+
4 => {
|
8726
|
+
Name => 'CompressionFormat',
|
8727
|
+
PrintConv => {
|
8728
|
+
0 => 'Editing (ALL-I)',
|
8729
|
+
1 => 'Standard (IPB)',
|
8730
|
+
2 => 'Light (IPB)',
|
8731
|
+
3 => 'Motion JPEG',
|
8732
|
+
4 => 'RAW', # either Standard or Light, depending on Quality
|
8733
|
+
},
|
8734
|
+
},
|
8735
|
+
6 => { # 0 to 7
|
8736
|
+
Name => 'Sharpness',
|
8737
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8738
|
+
},
|
8739
|
+
7 => { # -4 to 4
|
8740
|
+
Name => 'Saturation',
|
8741
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8742
|
+
%Image::ExifTool::Exif::printParameter,
|
8743
|
+
},
|
8744
|
+
8 => { # -4 to 4
|
8745
|
+
Name => 'ColorTone',
|
8746
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8747
|
+
%Image::ExifTool::Exif::printParameter,
|
8748
|
+
},
|
8749
|
+
9 => {
|
8750
|
+
Name => 'ColorSpace2',
|
8751
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8752
|
+
PrintConv => {
|
8753
|
+
0 => 'BT.709',
|
8754
|
+
1 => 'BT.2020',
|
8755
|
+
2 => 'CinemaGamut',
|
8756
|
+
},
|
8757
|
+
},
|
8758
|
+
10 => {
|
8759
|
+
Name => 'ColorMatrix',
|
8760
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8761
|
+
PrintConv => {
|
8762
|
+
0 => 'EOS Original',
|
8763
|
+
1 => 'Neutral',
|
8764
|
+
},
|
8765
|
+
},
|
8766
|
+
11 => {
|
8767
|
+
Name => 'CanonLogVersion', # (increases dynamic range of sensor data)
|
8768
|
+
RawConv => '$val == 0x7fffffff ? undef : $val',
|
8769
|
+
PrintConv => {
|
8770
|
+
0 => 'OFF',
|
8771
|
+
1 => 'CLogV1',
|
8772
|
+
2 => 'CLogV2', # (NC)
|
8773
|
+
3 => 'CLogV3',
|
8774
|
+
},
|
8775
|
+
},
|
8776
|
+
);
|
8777
|
+
|
8704
8778
|
# AF configuration info (MakerNotes tag 0x4028) (ref PH)
|
8705
8779
|
%Image::ExifTool::Canon::AFConfig = (
|
8706
8780
|
%binaryDataAttrs,
|
@@ -10064,7 +10138,7 @@ Canon maker notes in EXIF information.
|
|
10064
10138
|
|
10065
10139
|
=head1 AUTHOR
|
10066
10140
|
|
10067
|
-
Copyright 2003-
|
10141
|
+
Copyright 2003-2022, Phil Harvey (philharvey66 at gmail.com)
|
10068
10142
|
|
10069
10143
|
This library is free software; you can redistribute it and/or modify it
|
10070
10144
|
under the same terms as Perl itself.
|