diff options
author | exiftool <exiftool@users.sourceforge.net> | 2021-05-20 20:32:07 -0400 |
---|---|---|
committer | exiftool <exiftool@users.sourceforge.net> | 2021-05-20 20:32:07 -0400 |
commit | bd14871e8a3bc2b15ea2e3d5dd22bec4f50a6a40 (patch) | |
tree | ec4cb9d08ff7b9ff0945154b88e8ee1497eb13eb | |
parent | ceff3cbc4564e93518f3d2a2e00d8ae203ff54af (diff) |
Update to 12.26
51 files changed, 577 insertions, 360 deletions
@@ -4,13 +4,26 @@ ExifTool Version History RSS feed: https://exiftool.org/rss.xml -Note: The most recent production release is Version 12.16. (Other versions are +Note: The most recent production release is Version 12.26. (Other versions are considered development releases, and are not uploaded to MetaCPAN.) +May 20, 2021 - Version 12.26 (production release) + + - Added support for JPEG Stereo (JPS) images + - Added a new Sony LensType (thanks LibRaw) + - Added a new PentaxModelID (thanks LibRaw) + - Changed ExifTool namespace URI to use exiftool.org instead of exiftool.ca in + the -X option output (exiftool.ca is still recognized when reading XML) + - Improved handling of large-array warnings in -htmldump output + - Changed handling of escaped characters in #[CSTR] lines of -@ argfile + - Patched security vulnerability in argument of -lang option + - Fixed problem which could cause a "Wide character" warning and generate a + corrupted output file when writing some illegal values + Apr. 22, 2021 - Version 12.25 - JPEG XL support is now official - - Added read support for Medical Research Council (MRC) image files + - Added read support for Medical Research Council (MRC) image files - Added ability to write a number of 3gp tags in video files - Added a new Sony PictureProfile value (thanks Jos Roost) - Added a new Sony LensType (thanks LibRaw) @@ -33,11 +46,11 @@ Apr. 13, 2021 - Version 12.24 - Added a new PhaseOne RawFormat value (thanks LibRaw) - Decode a new Sony tag (thanks Jos Roost) - Decode a few new Panasonic and FujiFilm tags (thanks LibRaw and Greybeard) - - Patched security vulnerability in DjVu reader - Updated acdsee.config in distribution (thanks StarGeek) - Recognize AutoCAD DXF files - More work on experimental JUMBF read support - More work on experimental JPEG XL read/write support + - Patched security vulnerability in DjVu reader Apr. 1, 2021 - Version 12.23 @@ -71,7 +84,7 @@ Mar. 17, 2021 - Version 12.22 - Enhanced -b option so --b suppresses tags with binary data - Improved flexibility when writing GPS coordinates: - Now pulls latitude and longitude from a combined GPSCoordinates string - - Recognizes the full word "South" and "West" to write negative coordinates + - Recognize full word "South" and "West" to write negative coordinates - Improved warning when trying to write an integer QuickTime date/time tag and Time::Local is not available - Convert GPSSpeed from mph to km/h in timed GPS from Garmin MP4 videos @@ -513,6 +513,7 @@ t/ExifTool_29.out t/ExifTool_3.out t/ExifTool_30.out t/ExifTool_31.out +t/ExifTool_32.out t/ExifTool_4.out t/ExifTool_5.out t/ExifTool_6.out @@ -968,6 +969,7 @@ t/images/EXE.exe t/images/EXE.macho t/images/EXE.so t/images/ExifTool.jpg +t/images/ExifTool.jps t/images/ExifTool.tif t/images/ExtendedXMP.jpg t/images/FITS.fits @@ -47,6 +47,6 @@ } }, "release_status" : "stable", - "version" : "12.25", + "version" : "12.26", "x_serialization_backend" : "JSON::PP version 4.02" } @@ -28,5 +28,5 @@ recommends: Time::HiRes: 0 requires: perl: 5.004 -version: 12.25 +version: 12.26 x_serialization_backend: 'JSON::PP version 4.02' @@ -106,8 +106,8 @@ your home directory, then you would type the following commands in a terminal window to extract and run ExifTool: cd ~/Desktop - gzip -dc Image-ExifTool-12.25.tar.gz | tar -xf - - cd Image-ExifTool-12.25 + gzip -dc Image-ExifTool-12.26.tar.gz | tar -xf - + cd Image-ExifTool-12.26 ./exiftool t/images/ExifTool.jpg Note: These commands extract meta information from one of the test images. @@ -10,7 +10,7 @@ use strict; require 5.004; -my $version = '12.25'; +my $version = '12.26'; # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool' my $exeDir; @@ -2218,7 +2218,7 @@ sub GetImageInfo($$) my $f = $file; CleanXML(\$f); print $fp "\n<rdf:Description rdf:about='${f}'"; - print $fp "\n xmlns:et='http://ns.exiftool.ca/1.0/'"; + print $fp "\n xmlns:et='http://ns.exiftool.org/1.0/'"; print $fp " et:toolkit='Image::ExifTool $Image::ExifTool::VERSION'"; # define namespaces for all tag groups my (%groups, @groups, $grp0, $grp1); @@ -2240,7 +2240,7 @@ sub GetImageInfo($$) unless ($grp eq $grp1 and $grp =~ /^(ExifTool|File|Composite|Unknown)$/) { $grp .= "/$grp1"; } - print $fp "\n xmlns:$grp1='http://ns.exiftool.ca/$grp/1.0/'"; + print $fp "\n xmlns:$grp1='http://ns.exiftool.org/$grp/1.0/'"; } print $fp '>' if $outFormat < 1; # finish rdf:Description token unless short format $ind = $outFormat >= 0 ? ' ' : ' '; @@ -4263,7 +4263,10 @@ sub FilterArgfileLine($) # escaped by an odd number of backslashes, and escape a single backslash # if it occurs at the end of the string $arg =~ s{\\(.)|(["\$\@]|\\$)}{'\\'.($2 || $1)}sge; - $arg = eval qq{"$arg"}; # un-escape characters in C string + # un-escape characters in C string + my %esc = ( a => "\a", b => "\b", f => "\f", n => "\n", + r => "\r", t => "\t", '"' => '"', '\\' => '\\' ); + $arg =~ s/\\(.)/$esc{$1}||'\\'.$1/egs; } else { $arg =~ s/^\s+//; # remove leading white space $arg =~ s/[\x0d\x0a]+$//s; # remove trailing newline @@ -5393,7 +5396,7 @@ with this command: produces output like this: - -- Generated by ExifTool 12.25 -- + -- Generated by ExifTool 12.26 -- File: a.jpg - 2003:10:31 15:44:19 (f/5.6, 1/60s, ISO 100) File: b.jpg - 2006:05:23 11:57:38 diff --git a/html/ExifTool.html b/html/ExifTool.html index 19777eda..f08a6c90 100644 --- a/html/ExifTool.html +++ b/html/ExifTool.html @@ -2083,9 +2083,9 @@ the specific IFD). <blockquote><table class='norm'> <tr><th>Family</th><th>Group Names</th></tr> <tr><td><b>0 (Information Type)</b></td> -<td>AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, -APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, -EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, +<td>AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP3, APP4, +APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, +Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, @@ -2104,7 +2104,7 @@ GoPro, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360, -InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JUMBF, JVC, +InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JPS, JSON, JUMBF, JVC, Jpeg2000, KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lyrics3, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, diff --git a/html/ExifTool.pdf b/html/ExifTool.pdf index dcc0d05a..a576668d 100644 --- a/html/ExifTool.pdf +++ b/html/ExifTool.pdf @@ -12,7 +12,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 1)Tj +( -- Image::ExifTool 12.26 -- 1)Tj /TT4 1 Tf 0 -1.6333 TD (EXIFTOOL\(1\) User Contributed Perl Documentation EXIFTOOL\(1\))Tj @@ -189,7 +189,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 2)Tj +( -- Image::ExifTool 12.26 -- 2)Tj /TT4 1 Tf 0 -1.6333 TD ( ARW r/w | EXV r/w/c | M2TS r | PAGES r | SRF r)Tj @@ -384,7 +384,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 3)Tj +( -- Image::ExifTool 12.26 -- 3)Tj /TT4 1 Tf 0 -1.6333 TD ( be exported with the ":Public" export list.)Tj @@ -619,7 +619,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 4)Tj +( -- Image::ExifTool 12.26 -- 4)Tj /TT4 1 Tf 0 -2.7333 TD ( ExifTool ref)Tj @@ -768,7 +768,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 5)Tj +( -- Image::ExifTool 12.26 -- 5)Tj /TT4 1 Tf 0 -1.6333 TD ( the returned tag keys only if the "Duplicates" option is 0 and)Tj @@ -923,7 +923,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 6)Tj +( -- Image::ExifTool 12.26 -- 6)Tj /TT4 1 Tf 0 -1.6333 TD ( encoded in UTF-8. For these, _)Tj @@ -1114,7 +1114,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 7)Tj +( -- Image::ExifTool 12.26 -- 7)Tj /TT4 1 Tf 0 -1.6333 TD ( also prevents parsing the block to extract tags contained)Tj @@ -1267,7 +1267,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 8)Tj +( -- Image::ExifTool 12.26 -- 8)Tj /TT4 1 Tf 0 -1.6333 TD ( information contains no CodedCharacterSet tag. Possible values)Tj @@ -1414,7 +1414,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 9)Tj +( -- Image::ExifTool 12.26 -- 9)Tj /TT4 1 Tf 0 -1.6333 TD ( "SetNewValuesFromFile".)Tj @@ -1567,7 +1567,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 10)Tj +( -- Image::ExifTool 12.26 -- 10)Tj /TT4 1 Tf 0 -1.6333 TD ( specification, metadata is allowed after IDAT, but ExifTool)Tj @@ -1718,7 +1718,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 11)Tj +( -- Image::ExifTool 12.26 -- 11)Tj /TT4 1 Tf 0 -1.6333 TD ( GeoSpeedRef)Tj @@ -1909,7 +1909,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 12)Tj +( -- Image::ExifTool 12.26 -- 12)Tj /TT4 1 Tf 0 -1.6333 TD ( Separator used to join the PrintConv value of multi-item List-)Tj @@ -2056,7 +2056,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 13)Tj +( -- Image::ExifTool 12.26 -- 13)Tj /TT4 1 Tf 0 -1.6333 TD ( QuickTime specification.)Tj @@ -2201,7 +2201,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 14)Tj +( -- Image::ExifTool 12.26 -- 14)Tj /TT4 1 Tf 0 -1.6333 TD ( successfully convert the value.)Tj @@ -2356,7 +2356,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 15)Tj +( -- Image::ExifTool 12.26 -- 15)Tj /TT4 1 Tf 0 -1.6333 TD ( Flag to perform extra validation metadata checks when reading,)Tj @@ -2541,7 +2541,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 16)Tj +( -- Image::ExifTool 12.26 -- 16)Tj /TT4 1 Tf 0 -1.6333 TD ( MakerNotes, MDItemTags, NoPDFList, Password, QuickTimeUTC \(enforced)Tj @@ -2710,7 +2710,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 17)Tj +( -- Image::ExifTool 12.26 -- 17)Tj /TT4 1 Tf 0 -2.7333 TD ( # overwrite file \(you do have backups, right?\))Tj @@ -2863,7 +2863,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 18)Tj +( -- Image::ExifTool 12.26 -- 18)Tj /TT4 1 Tf 0 -1.6333 TD ( 1\) [optional] Information hash reference or tag list reference)Tj @@ -3070,7 +3070,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 19)Tj +( -- Image::ExifTool 12.26 -- 19)Tj /TT4 1 Tf 0 -2.7333 TD ( Note that "GetValue" requires a case-sensitive tag key as an argument.)Tj @@ -3233,7 +3233,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 20)Tj +( -- Image::ExifTool 12.26 -- 20)Tj /TT4 1 Tf 0 -1.6333 TD ( values.)Tj @@ -3366,7 +3366,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 21)Tj +( -- Image::ExifTool 12.26 -- 21)Tj /TT4 1 Tf 0 -1.6333 TD ( values. The tag name may be prefixed by one or more family 0, 1 or)Tj @@ -3515,7 +3515,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 22)Tj +( -- Image::ExifTool 12.26 -- 22)Tj /TT4 1 Tf 0 -1.6333 TD ( "SetNewValuesFromFile"\). Bit 0x02 allows writing of)Tj @@ -3724,7 +3724,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 23)Tj +( -- Image::ExifTool 12.26 -- 23)Tj /TT4 1 Tf 0 -1.6333 TD ( Inputs:)Tj @@ -3901,7 +3901,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 24)Tj +( -- Image::ExifTool 12.26 -- 24)Tj /TT4 1 Tf 0 -1.6333 TD ( information to a tag with a different name or a specified group.)Tj @@ -4046,7 +4046,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 25)Tj +( -- Image::ExifTool 12.26 -- 25)Tj /TT4 1 Tf 0 -1.6333 TD ( The "Duplicates" option is always in effect for tags extracted from)Tj @@ -4297,7 +4297,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 26)Tj +( -- Image::ExifTool 12.26 -- 26)Tj /TT4 1 Tf 0 -1.6333 TD ( 1 if the time was changed, 0 if nothing was done, or -1 if there)Tj @@ -4502,7 +4502,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 27)Tj +( -- Image::ExifTool 12.26 -- 27)Tj /TT4 1 Tf 0 -1.6333 TD ( @groups = $exifTool->GetNewGroups\(\);)Tj @@ -4691,7 +4691,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 28)Tj +( -- Image::ExifTool 12.26 -- 28)Tj /TT4 1 Tf 0 -1.6333 TD ( when called in scalar context, or the names of groups for all)Tj @@ -4842,7 +4842,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 29)Tj +( -- Image::ExifTool 12.26 -- 29)Tj /TT4 1 Tf 0 -1.6333 TD ( hex. Note that unlike other group names, the tag ID's of family 7)Tj @@ -5093,7 +5093,7 @@ endobj endobj 96 0 obj << -/Length 4698 +/Length 4704 >> stream
BT @@ -5103,7 +5103,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 30)Tj +( -- Image::ExifTool 12.26 -- 30)Tj /TT4 1 Tf 0 -1.6333 TD ( Inputs:)Tj @@ -5302,27 +5302,27 @@ T* 0 -1.1 TD ( AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15,)Tj T* -( APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM,)Tj +( APP3, APP4, APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite,)Tj T* -( DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File,)Tj +( DICOM, DNG, DV, DjVu, Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR,)Tj T* -( Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro,)Tj +( File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff,)Tj T* -( H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON,)Tj +( GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG,)Tj T* -( JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC,)Tj +( JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI,)Tj T* -( MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR, Opus,)Tj +( MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, OpenEXR,)Tj T* -( PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw, PhotoCD,)Tj +( Opus, PDF, PICT, PLIST, PNG, PSP, Palm, Parrot, PanasonicRaw,)Tj T* -( PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime, RAF,)Tj +( PhotoCD, PhotoMechanic, Photoshop, PostScript, PrintIM, QuickTime,)Tj T* -( RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG, SigmaRaw, Stim,)Tj +( RAF, RIFF, RSRC, RTF, Radiance, Rawzor, Real, Red, SVG, SigmaRaw,)Tj T* -( Theora, Torrent, Trailer, UserParam, VCard, Vorbis, WTV, XML, XMP,)Tj +( Stim, Theora, Torrent, Trailer, UserParam, VCard, Vorbis, WTV, XML,)Tj T* -( ZIP)Tj +( XMP, ZIP)Tj 0 -2.2 TD ( Family 1 \(Specific Location\):)Tj 0 -1.1 TD @@ -5352,7 +5352,7 @@ endobj endobj 99 0 obj << -/Length 5010 +/Length 5028 >> stream
BT @@ -5362,7 +5362,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 31)Tj +( -- Image::ExifTool 12.26 -- 31)Tj /TT4 1 Tf 0 -1.6333 TD ( GIMP, GPS, GeoTiff, GlobParamIFD, GoPro, GraphConv, H264, HP, HTC,)Tj @@ -5375,67 +5375,69 @@ T* T* ( ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360,)Tj T* -( InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JUMBF, JVC,)Tj +( InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JPS, JSON, JUMBF,)Tj T* -( Jpeg2000, KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD,)Tj +( JVC, Jpeg2000, KDC_IFD, Keys, Kodak, KodakBordersIFD,)Tj T* -( KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lyrics3, Lytro,)Tj +( KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD,)Tj T* -( M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender,)Tj +( Leica, Lyrics3, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon,)Tj T* -( MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-Lens, MIE-Main, MIE-)Tj +( MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, MIE-Geo, MIE-Image, MIE-)Tj T* -( MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview, MIE-Thumbnail, MIE-)Tj +( Lens, MIE-Main, MIE-MakerNotes, MIE-Meta, MIE-Orient, MIE-Preview,)Tj T* -( UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI, MOI, MPC, MPEG, MPF0,)Tj +( MIE-Thumbnail, MIE-UTM, MIE-Unknown, MIE-Video, MIFF, MNG, MOBI,)Tj T* -( MPImage, MS-DOC, MXF, MacOS, MakerNotes, MakerUnknown, Matroska,)Tj +( MOI, MPC, MPEG, MPF0, MPImage, MS-DOC, MXF, MacOS, MakerNotes,)Tj T* -( MediaJukebox, Meta, MetaIFD, Microsoft, Minolta, MinoltaRaw,)Tj +( MakerUnknown, Matroska, MediaJukebox, Meta, MetaIFD, Microsoft,)Tj T* -( Motorola, NITF, Nikon, NikonCapture, NikonCustom, NikonScan,)Tj +( Minolta, MinoltaRaw, Motorola, NITF, Nikon, NikonCapture,)Tj T* -( NikonSettings, Nintendo, Ocad, Ogg, Olympus, OpenEXR, Opus, PDF,)Tj +( NikonCustom, NikonScan, NikonSettings, Nintendo, Ocad, Ogg,)Tj T* -( PICT, PNG, PNG-pHYs, PSP, Palm, Panasonic, PanasonicRaw, Pentax,)Tj +( Olympus, OpenEXR, Opus, PDF, PICT, PNG, PNG-pHYs, PSP, Palm,)Tj T* -( PhaseOne, PhotoCD, PhotoMechanic, Photoshop, PictureInfo,)Tj +( Panasonic, PanasonicRaw, Pentax, PhaseOne, PhotoCD, PhotoMechanic,)Tj T* -( PostScript, PreviewIFD, PrintIM, ProfileIFD, Qualcomm, QuickTime,)Tj +( Photoshop, PictureInfo, PostScript, PreviewIFD, PrintIM,)Tj T* -( RAF, RAF2, RIFF, RMETA, RSRC, RTF, Radiance, Rawzor, Real, Real-)Tj +( ProfileIFD, Qualcomm, QuickTime, RAF, RAF2, RIFF, RMETA, RSRC, RTF,)Tj T* -( CONT, Real-MDPR, Real-PROP, Real-RA3, Real-RA4, Real-RA5, Real-)Tj +( Radiance, Rawzor, Real, Real-CONT, Real-MDPR, Real-PROP, Real-RA3,)Tj T* -( RJMD, Reconyx, Red, Ricoh, SPIFF, SR2, SR2DataIFD, SR2SubIFD, SRF#,)Tj +( Real-RA4, Real-RA5, Real-RJMD, Reconyx, Red, Ricoh, SPIFF, SR2,)Tj T* -( SVG, Samsung, Sanyo, Scalado, Sigma, SigmaRaw, Sony, SonyIDC, Stim,)Tj +( SR2DataIFD, SR2SubIFD, SRF#, SVG, Samsung, Sanyo, Scalado, Sigma,)Tj T* -( SubIFD, System, Theora, Torrent, Track#, UserData, UserParam,)Tj +( SigmaRaw, Sony, SonyIDC, Stim, SubIFD, System, Theora, Torrent,)Tj T* -( VCalendar, VCard, Version0, Vorbis, WTV, XML, XMP, XMP-DICOM, XMP-)Tj +( Track#, UserData, UserParam, VCalendar, VCard, Version0, Vorbis,)Tj T* -( Device, XMP-GAudio, XMP-GDepth, XMP-GFocus, XMP-GImage, XMP-GPano,)Tj +( WTV, XML, XMP, XMP-DICOM, XMP-Device, XMP-GAudio, XMP-GDepth, XMP-)Tj T* -( XMP-GSpherical, XMP-LImage, XMP-MP, XMP-MP1, XMP-PixelLive, XMP-)Tj +( GFocus, XMP-GImage, XMP-GPano, XMP-GSpherical, XMP-LImage, XMP-MP,)Tj T* -( aas, XMP-acdsee, XMP-album, XMP-apple-fi, XMP-aux, XMP-cc, XMP-)Tj +( XMP-MP1, XMP-PixelLive, XMP-aas, XMP-acdsee, XMP-album, XMP-apple-)Tj T* -( cell, XMP-creatorAtom, XMP-crs, XMP-dc, XMP-dex, XMP-digiKam, XMP-)Tj +( fi, XMP-aux, XMP-cc, XMP-cell, XMP-creatorAtom, XMP-crs, XMP-dc,)Tj T* -( drone-dji, XMP-dwc, XMP-exif, XMP-exifEX, XMP-expressionmedia, XMP-)Tj +( XMP-dex, XMP-digiKam, XMP-drone-dji, XMP-dwc, XMP-exif, XMP-exifEX,)Tj T* -( extensis, XMP-fpv, XMP-getty, XMP-ics, XMP-iptcCore, XMP-iptcExt,)Tj +( XMP-expressionmedia, XMP-extensis, XMP-fpv, XMP-getty, XMP-ics,)Tj T* -( XMP-lr, XMP-mediapro, XMP-microsoft, XMP-mwg-coll, XMP-mwg-kw, XMP-)Tj +( XMP-iptcCore, XMP-iptcExt, XMP-lr, XMP-mediapro, XMP-microsoft,)Tj T* -( mwg-rs, XMP-pdf, XMP-pdfx, XMP-photomech, XMP-photoshop, XMP-plus,)Tj +( XMP-mwg-coll, XMP-mwg-kw, XMP-mwg-rs, XMP-pdf, XMP-pdfx, XMP-)Tj T* -( XMP-pmi, XMP-prism, XMP-prl, XMP-prm, XMP-pur, XMP-rdf, XMP-swf,)Tj +( photomech, XMP-photoshop, XMP-plus, XMP-pmi, XMP-prism, XMP-prl,)Tj T* -( XMP-tiff, XMP-x, XMP-xmp, XMP-xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-)Tj +( XMP-prm, XMP-pur, XMP-rdf, XMP-swf, XMP-tiff, XMP-x, XMP-xmp, XMP-)Tj T* -( xmpNote, XMP-xmpPLUS, XMP-xmpRights, XMP-xmpTPg, ZIP)Tj +( xmpBJ, XMP-xmpDM, XMP-xmpMM, XMP-xmpNote, XMP-xmpPLUS, XMP-)Tj +T* +( xmpRights, XMP-xmpTPg, ZIP)Tj 0 -2.2 TD ( Family 2 \(Category\):)Tj 0 -1.1 TD @@ -5557,9 +5559,9 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 32)Tj +( -- Image::ExifTool 12.26 -- 32)Tj /TT4 1 Tf -0 -1.6333 TD +0 -2.7333 TD ( Inputs:)Tj 0 -1.1 TD ( None.)Tj @@ -5756,7 +5758,7 @@ endobj endobj 106 0 obj << -/Length 4913 +/Length 4829 >> stream
BT @@ -5766,9 +5768,9 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 33)Tj +( -- Image::ExifTool 12.26 -- 33)Tj /TT4 1 Tf -0 -1.6333 TD +0 -2.7333 TD ( C)Tj 1.8 0 TD (Ca)Tj @@ -6002,8 +6004,6 @@ T* ( file names to be converted from the specified encoding to one)Tj T* ( appropriate for the system. In Windows this also has the effect of)Tj -T* -( activating Unicode filename support via the special Windows wide-)Tj ET endstream endobj @@ -6021,7 +6021,7 @@ endobj endobj 109 0 obj << -/Length 5369 +/Length 5460 >> stream
BT @@ -6031,9 +6031,11 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 34)Tj +( -- Image::ExifTool 12.26 -- 34)Tj /TT4 1 Tf 0 -1.6333 TD +( activating Unicode filename support via the special Windows wide-)Tj +0 -1.1 TD ( character i/o routines if Win32API::File is available.)Tj 0 -2.2 TD ( Internal Character Sets:)Tj @@ -6230,7 +6232,7 @@ endobj endobj 112 0 obj << -/Length 4598 +/Length 4502 >> stream
BT @@ -6240,9 +6242,9 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 35)Tj +( -- Image::ExifTool 12.26 -- 35)Tj /TT4 1 Tf -0 -1.6333 TD +0 -2.7333 TD ( exiftool -tagsfromfile @ -iptc:all -codedcharacterset=utf8 a.jpg)Tj 0 -2.2 TD ( or from Windows Latin2 \(cp1250\) to UTF-8:)Tj @@ -6416,8 +6418,6 @@ T* (op)Tj 0.6 0 TD (p)Tj --6.6 -1.1 TD -( Some Photoshop resource names are stored as Pascal strings with unknown)Tj ET endstream endobj @@ -6435,7 +6435,7 @@ endobj endobj 115 0 obj << -/Length 5504 +/Length 5590 >> stream
BT @@ -6445,11 +6445,13 @@ BT /GS1 gs 0 Tc 0 Tw -( -- Image::ExifTool 12.25 -- 36)Tj +( -- Image::ExifTool 12.26 -- 36)Tj /TT4 1 Tf 0 -1.6333 TD -( encoding. By default, ExifTool assumes MacRoman encoding and converts)Tj +( Some Photoshop resource names are stored as Pascal strings with unknown)Tj 0 -1.1 TD +( encoding. By default, ExifTool assumes MacRoman encoding and converts)Tj +T* ( this to UTF-8, but the internal and external character sets may be)Tj T* ( specified with the "CharsetPhotoshop" and "Charset" options)Tj @@ -6866,7 +6868,7 @@ T* 0.6 0 TD (G\(3pm\))Tj -27 -4.4 TD -(perl v5.18.4 2021-04-22 EXIFTOOL\(1\))Tj +(perl v5.18.4 2021-05-20 EXIFTOOL\(1\))Tj ET endstream endobj @@ -7302,8 +7304,8 @@ endobj endobj 121 0 obj << -/CreationDate (D:20210422145338-04'00') -/ModDate (D:20210422145338-04'00') +/CreationDate (D:20210520202905-04'00') +/ModDate (D:20210520202905-04'00') /Producer (Apple pstopdf) >> endobj @@ -7317,135 +7319,135 @@ endobj xref 0 123 0000000000 65535 f -0000170718 00000 n +0000170739 00000 n 0000000016 00000 n 0000004112 00000 n -0000169719 00000 n -0000170120 00000 n -0000169184 00000 n -0000173820 00000 n -0000170798 00000 n +0000169740 00000 n +0000170141 00000 n +0000169205 00000 n +0000173841 00000 n +0000170819 00000 n 0000004218 00000 n 0000009576 00000 n -0000170879 00000 n +0000170900 00000 n 0000009683 00000 n 0000014442 00000 n -0000170962 00000 n +0000170983 00000 n 0000014549 00000 n 0000019334 00000 n -0000171045 00000 n +0000171066 00000 n 0000019441 00000 n 0000023926 00000 n -0000171128 00000 n +0000171149 00000 n 0000024033 00000 n 0000028293 00000 n -0000171211 00000 n +0000171232 00000 n 0000028400 00000 n 0000033152 00000 n -0000171294 00000 n +0000171315 00000 n 0000033259 00000 n 0000037824 00000 n -0000171377 00000 n +0000171398 00000 n 0000037931 00000 n 0000042785 00000 n -0000171460 00000 n +0000171481 00000 n 0000042892 00000 n 0000047576 00000 n -0000171543 00000 n +0000171564 00000 n 0000047683 00000 n 0000052324 00000 n -0000174346 00000 n -0000173955 00000 n -0000171627 00000 n +0000174367 00000 n +0000173976 00000 n +0000171648 00000 n 0000052431 00000 n 0000056962 00000 n -0000171711 00000 n +0000171732 00000 n 0000057069 00000 n 0000061518 00000 n -0000171795 00000 n +0000171816 00000 n 0000061625 00000 n 0000065933 00000 n -0000171879 00000 n +0000171900 00000 n 0000066040 00000 n 0000070285 00000 n -0000171963 00000 n +0000171984 00000 n 0000070392 00000 n 0000074736 00000 n -0000172047 00000 n +0000172068 00000 n 0000074843 00000 n 0000078868 00000 n -0000172131 00000 n +0000172152 00000 n 0000078975 00000 n 0000083372 00000 n -0000172215 00000 n +0000172236 00000 n 0000083479 00000 n 0000087572 00000 n -0000172299 00000 n +0000172320 00000 n 0000087679 00000 n 0000091604 00000 n -0000172383 00000 n +0000172404 00000 n 0000091711 00000 n 0000096421 00000 n -0000174093 00000 n -0000172467 00000 n +0000174114 00000 n +0000172488 00000 n 0000096528 00000 n 0000101340 00000 n -0000172551 00000 n +0000172572 00000 n 0000101447 00000 n 0000105986 00000 n -0000172635 00000 n +0000172656 00000 n 0000106093 00000 n 0000110726 00000 n -0000172719 00000 n +0000172740 00000 n 0000110833 00000 n 0000115272 00000 n -0000172803 00000 n +0000172824 00000 n 0000115379 00000 n 0000119596 00000 n -0000172887 00000 n +0000172908 00000 n 0000119703 00000 n 0000123343 00000 n -0000172971 00000 n +0000172992 00000 n 0000123450 00000 n 0000128595 00000 n -0000173055 00000 n +0000173076 00000 n 0000128702 00000 n 0000133247 00000 n -0000173139 00000 n +0000173160 00000 n 0000133354 00000 n -0000138105 00000 n -0000173223 00000 n -0000138212 00000 n -0000143275 00000 n -0000174231 00000 n -0000173309 00000 n -0000143383 00000 n -0000148044 00000 n -0000173397 00000 n -0000148152 00000 n -0000153119 00000 n -0000173485 00000 n -0000153227 00000 n -0000158650 00000 n -0000173573 00000 n -0000158758 00000 n -0000163410 00000 n -0000173661 00000 n -0000163518 00000 n -0000169076 00000 n -0000169324 00000 n -0000169527 00000 n -0000173749 00000 n -0000173778 00000 n -0000174452 00000 n -0000174576 00000 n +0000138111 00000 n +0000173244 00000 n +0000138218 00000 n +0000143299 00000 n +0000174252 00000 n +0000173330 00000 n +0000143407 00000 n +0000148068 00000 n +0000173418 00000 n +0000148176 00000 n +0000153059 00000 n +0000173506 00000 n +0000153167 00000 n +0000158681 00000 n +0000173594 00000 n +0000158789 00000 n +0000163345 00000 n +0000173682 00000 n +0000163453 00000 n +0000169097 00000 n +0000169345 00000 n +0000169548 00000 n +0000173770 00000 n +0000173799 00000 n +0000174473 00000 n +0000174597 00000 n trailer << /Size 123 /Root 122 0 R /Info 121 0 R -/ID [<6f1fa4f957abd6d4edd957a2bc3331b3><6f1fa4f957abd6d4edd957a2bc3331b3>] +/ID [<1d0538b9084573b823c6b337959eb502><1d0538b9084573b823c6b337959eb502>] >> startxref -174648 +174669 %%EOF diff --git a/html/Shift.pdf b/html/Shift.pdf index 3f717de8..a42ac390 100644 --- a/html/Shift.pdf +++ b/html/Shift.pdf @@ -593,8 +593,8 @@ endobj endobj 16 0 obj << -/CreationDate (D:20210422145339-04'00') -/ModDate (D:20210422145339-04'00') +/CreationDate (D:20210520202906-04'00') +/ModDate (D:20210520202906-04'00') /Producer (Apple pstopdf) >> endobj @@ -630,7 +630,7 @@ trailer /Size 18 /Root 17 0 R /Info 16 0 R -/ID [<8e19456eaff63821249a7d1d603df2f5><8e19456eaff63821249a7d1d603df2f5>] +/ID [<5d04d840c23a7f538d36766fd2dc5f32><5d04d840c23a7f538d36766fd2dc5f32>] >> startxref 11800 diff --git a/html/TagNames/Canon.html b/html/TagNames/Canon.html index 47cd0152..50765aa2 100644 --- a/html/TagNames/Canon.html +++ b/html/TagNames/Canon.html @@ -1816,8 +1816,8 @@ attempting to identify the specific lens model.</p> </tr><tr><td>36910</td><td>= Canon EF 70-300mm f/4-5.6 IS II USM</td> </tr><tr><td>36912</td><td>= Canon EF-S 18-135mm f/3.5-5.6 IS USM</td> </tr><tr><td>61182</td><td>= Canon RF 50mm F1.2L USM or other Canon RF Lens</td> -</tr><tr><td>61182.1</td><td>= Canon RF 85mm F2 MACRO IS STM</td> -</tr><tr><td>61182.2</td><td>= Canon RF 100-500mm F4.5-7.1L IS USM + RF2x</td> +</tr><tr><td>61182.1</td><td>= Canon RF 24-105mm F4L IS USM</td> +</tr><tr><td>61182.2</td><td>= Canon RF 28-70mm F2L USM</td> </tr><tr><td>61182.3</td><td>= Canon RF 35mm F1.8 MACRO IS STM</td> </tr><tr><td>61182.4</td><td>= Canon RF 85mm F1.2L USM</td> </tr><tr><td>61182.5</td><td>= Canon RF 85mm F1.2L USM DS</td> @@ -1825,6 +1825,7 @@ attempting to identify the specific lens model.</p> </tr><tr><td>61182.7</td><td>= Canon RF 15-35mm F2.8L IS USM</td> </tr><tr><td>61182.8</td><td>= Canon RF 24-240mm F4-6.3 IS USM</td> </tr><tr><td>61182.9</td><td>= Canon RF 70-200mm F2.8L IS USM</td> +</tr><tr><td>61182.10</td><td>= Canon RF 85mm F2 MACRO IS STM</td> </tr><tr><td>61182.11</td><td>= Canon RF 600mm F11 IS STM</td> </tr><tr><td>61182.12</td><td>= Canon RF 600mm F11 IS STM + RF1.4x</td> </tr><tr><td>61182.13</td><td>= Canon RF 600mm F11 IS STM + RF2x</td> @@ -1834,6 +1835,7 @@ attempting to identify the specific lens model.</p> </tr><tr><td>61182.17</td><td>= Canon RF 24-105mm F4-7.1 IS STM</td> </tr><tr><td>61182.18</td><td>= Canon RF 100-500mm F4.5-7.1L IS USM</td> </tr><tr><td>61182.19</td><td>= Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x</td> +</tr><tr><td>61182.20</td><td>= Canon RF 100-500mm F4.5-7.1L IS USM + RF2x</td> </tr><tr><td>61182.21</td><td>= Canon RF 70-200mm F4L IS USM</td> </tr><tr><td>61182.22</td><td>= Canon RF 50mm F1.8 STM</td> </tr><tr><td>61491</td><td>= Canon CN-E 14mm T3.1 L F</td> @@ -11106,7 +11108,7 @@ SX280, and CR3 images from cameras such as the EOS M50.</p> <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) -<br><i>Last revised Apr 22, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p> </body> </html> diff --git a/html/TagNames/JPEG.html b/html/TagNames/JPEG.html index d8077473..33d6ecfa 100644 --- a/html/TagNames/JPEG.html +++ b/html/TagNames/JPEG.html @@ -58,11 +58,13 @@ <td>'APP3'</td> <td>Meta <br>Stim + <br>JPS <br>ThermalData <br>PreviewImage</td> -<td class=c>-<br>-<br>no<br>no</td> +<td class=c>-<br>-<br>-<br>no<br>no</td> <td>--> <a href='Kodak.html#Meta'>Kodak Meta Tags</a> <br>--> <a href='Stim.html'>Stim Tags</a> + <br>--> <a href='JPEG.html#JPS'>JPEG JPS Tags</a> <br><span class=n>(DJI raw thermal data)</span> <br><span class=n>(Samsung/HP preview image)</span></td></tr> <tr> @@ -222,6 +224,51 @@ images).</p> <td> </td></tr> </table></td></tr></table></blockquote> +<h2><a name='JPS'>JPEG JPS Tags</a></h2> +<p>Tags found in JPEG Stereo (JPS) images.</p> +<blockquote> +<table class=frame><tr><td> +<table class=inner cellspacing=1> +<tr class=h><th>Index1</th><th>Tag Name</th> +<th>Writable</th><th>Values / <span class=n>Notes</span></th></tr> +<tr> +<td class=r title='10 = 0xa'>10</td> +<td>JPSSeparation</td> +<td class=c>no</td> +<td><span class=s><span class=n>(stereo only)</span></span></td></tr> +<tr class=b> +<td class=r title='11 = 0xb'>11</td> +<td>JPSFlags</td> +<td class=c>no</td> +<td><span class=s>Bit 0 = Half height + <br>Bit 1 = Half width + <br>Bit 2 = Left field first</span></td></tr> +<tr> +<td class=r title='12 = 0xc'>12</td> +<td>JPSLayout</td> +<td class=c>no</td> +<td><span class=s><span class=n>(mono)</span> + <br>0 = Both Eyes + <br>1 = Left Eye + <br>2 = Right Eye + <br><span class=n>(stereo)</span> + <br>1 = Interleaved + <br>2 = Side By Side + <br>3 = Over Under + <br>4 = Anaglyph</span></td></tr> +<tr class=b> +<td class=r title='13 = 0xd'>13</td> +<td>JPSType</td> +<td class=c>no</td> +<td><span class=s>0 = Mono + <br>1 = Stereo</span></td></tr> +<tr> +<td class=r title='16 = 0x10'>16</td> +<td>JPSComment</td> +<td class=c>no</td> +<td> </td></tr> +</table></td></tr></table></blockquote> + <h2><a name='EPPIM'>JPEG EPPIM Tags</a></h2> <p>APP6 is used in by the Toshiba PDR-M700 to store a TIFF structure containing PrintIM information.</p> @@ -619,7 +666,7 @@ because it may affect the appearance of the image.</p> <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) -<br><i>Last revised Apr 1, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p> </body> </html> diff --git a/html/TagNames/Pentax.html b/html/TagNames/Pentax.html index cfe65ed9..74027696 100644 --- a/html/TagNames/Pentax.html +++ b/html/TagNames/Pentax.html @@ -1757,10 +1757,10 @@ are left, top, width and height in a 720x480 frame, with Y downwards)</span></sp <td class=r>0x13240</td><td>= K-1 Mark II</td> </tr><tr><td class=r>0x12c1e</td><td>= K10D</td> <td class='r b'>0x12e3a</td><td class=b>= Optio I-10</td> -<td class=r>0x13290</td><td>= WG-70</td> +<td class=r>0x13254</td><td>= K-3 Mark III</td> </tr><tr><td class=r>0x12c20</td><td>= Samsung GX10</td> <td class='r b'>0x12e44</td><td class=b>= Optio H90</td> -<td class=r> </td><td> </td> +<td class=r>0x13290</td><td>= WG-70</td> </tr></table></td></tr></table></blockquote> <h2><a name='City'>Pentax City Values</a></h2> @@ -4903,7 +4903,7 @@ stored as ASCII text in a format very similar to some HP models.</p> <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) -<br><i>Last revised Jan 6, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p> </body> </html> diff --git a/html/TagNames/QuickTime.html b/html/TagNames/QuickTime.html index d3bbe05d..7d7a5a00 100644 --- a/html/TagNames/QuickTime.html +++ b/html/TagNames/QuickTime.html @@ -968,7 +968,8 @@ changed via <a href="../config.html#PREF">the config file</a>.</p> <td>'location.ISO6709'</td> <td>GPSCoordinates</td> <td class=c>yes</td> -<td> </td></tr> +<td><span class=s><span class=n>(Google Photos may ignore this if the coorinates have more than 5 digits +after the decimal)</span></span></td></tr> <tr> <td>'location.accuracy.horizontal'</td> <td>LocationAccuracyHorizontal</td> @@ -8751,7 +8752,7 @@ yaw, pitch and roll angles in degrees)</span></span></td></tr> <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) -<br><i>Last revised Apr 22, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p> </body> </html> diff --git a/html/TagNames/Sony.html b/html/TagNames/Sony.html index 0e39b43b..3099b919 100644 --- a/html/TagNames/Sony.html +++ b/html/TagNames/Sony.html @@ -4945,6 +4945,7 @@ multi-frame noise reduction)</span></span></td></tr> </tr><tr><td>50524</td><td>= Sigma 35mm F2 DG DN | C</td> </tr><tr><td>50525</td><td>= Sigma 24mm F3.5 DG DN | C</td> </tr><tr><td>50526</td><td>= Sigma 28-70mm F2.8 DG DN | C</td> +</tr><tr><td>50528</td><td>= Sigma 35mm F1.4 DG DN | A</td> </tr><tr><td>50992</td><td>= Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III</td> </tr><tr><td>50993</td><td>= Voigtlander HELIAR-HYPER WIDE 10mm F5.6</td> </tr><tr><td>50994</td><td>= Voigtlander ULTRA WIDE-HELIAR 12mm F5.6 III</td> @@ -4965,6 +4966,7 @@ multi-frame noise reduction)</span></span></td></tr> </tr><tr><td>51510</td><td>= Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8</td> </tr><tr><td>51510.1</td><td>= Samyang AF 35mm F1.8</td> </tr><tr><td>51512</td><td>= Samyang AF 75mm F1.8</td> +</tr><tr><td>51514</td><td>= Samyang AF 24mm F1.8 FE</td> </tr></table></td></tr></table></blockquote> <h2><a name='CameraSettingsUnknown'>Sony CameraSettingsUnknown Tags</a></h2> @@ -11775,7 +11777,7 @@ some models when the <a href="../ExifTool.html#ExtractEmbedded">ExtractEmbedded< <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) -<br><i>Last revised Apr 22, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='index.html'><-- ExifTool Tag Names</a></p> </body> </html> diff --git a/html/TagNames/index.html b/html/TagNames/index.html index 98b24f5c..e3ce9a31 100644 --- a/html/TagNames/index.html +++ b/html/TagNames/index.html @@ -10,7 +10,7 @@ <h2 class=top>ExifTool Tag Names</h2> <p> The tables listed below give the names of all tags recognized by ExifTool. -They contain a total of 24273 tags, with 15738 unique tag names. +They contain a total of 24279 tags, with 15743 unique tag names. </p> <blockquote> <table width='100%' class=frame><tr><td> @@ -234,7 +234,7 @@ ExifTool. A big thanks to everyone who has helped with this so far!)</i> <hr> (This document generated automatically by Image::ExifTool::BuildTagLookup) <br><i>Created Feb 15, 2005</i> -<br><i>Last revised Apr 22, 2021</i> +<br><i>Last revised May 20, 2021</i> <p class=lf><a href='../index.html'><-- Back to ExifTool home page</a></p> </body> </html> diff --git a/html/exiftool_pod.html b/html/exiftool_pod.html index 77e06cdd..e3220787 100644 --- a/html/exiftool_pod.html +++ b/html/exiftool_pod.html @@ -685,7 +685,7 @@ <p>produces output like this:</p> -<pre><code> -- Generated by ExifTool 12.25 -- +<pre><code> -- Generated by ExifTool 12.26 -- File: a.jpg - 2003:10:31 15:44:19 (f/5.6, 1/60s, ISO 100) File: b.jpg - 2006:05:23 11:57:38 diff --git a/html/exiftool_pod.pdf b/html/exiftool_pod.pdf index 5c382116..64135d71 100644 --- a/html/exiftool_pod.pdf +++ b/html/exiftool_pod.pdf @@ -12,7 +12,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 1)Tj +( -- ExifTool 12.26 -- 1)Tj /TT4 1 Tf 0 -1.6333 TD (EXIFTOOL\(1\) User Contributed Perl Documentation EXIFTOOL\(1\))Tj @@ -637,7 +637,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 2)Tj +( -- ExifTool 12.26 -- 2)Tj /TT4 1 Tf 0 -1.6333 TD ( AVIF r/w | FITS r | MAX r | PCX r | SWF r)Tj @@ -834,7 +834,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 3)Tj +( -- ExifTool 12.26 -- 3)Tj /TT4 1 Tf 0 -1.6333 TD ( -charset [[TYPE=]CHARSET] Specify encoding for special characters)Tj @@ -991,7 +991,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 4)Tj +( -- ExifTool 12.26 -- 4)Tj /TT4 1 Tf 0 -1.6333 TD ( -globalTimeShift SHIFT Shift all formatted date/time values)Tj @@ -1282,7 +1282,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 5)Tj +( -- ExifTool 12.26 -- 5)Tj /TT4 1 Tf 0 -1.6333 TD ( the -)Tj @@ -1615,7 +1615,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 6)Tj +( -- ExifTool 12.26 -- 6)Tj /TT4 1 Tf 0 -1.6333 TD ( deletable Time tags except those in the EXIF. This difference)Tj @@ -2052,7 +2052,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 7)Tj +( -- ExifTool 12.26 -- 7)Tj /TT4 1 Tf 0 -1.6333 TD ( specified for each copied tag. With this feature, information may)Tj @@ -2539,7 +2539,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 8)Tj +( -- ExifTool 12.26 -- 8)Tj /TT4 1 Tf 0 -1.6333 TD ( groups of tags from a file containing redundant information, it)Tj @@ -3042,7 +3042,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 9)Tj +( -- ExifTool 12.26 -- 9)Tj /TT4 1 Tf 0 -1.6333 TD ( "unsafe". For instance, the FileName and Directory tags are)Tj @@ -3463,7 +3463,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 10)Tj +( -- ExifTool 12.26 -- 10)Tj /TT4 1 Tf 0 -1.6333 TD ( Vietnam cp1258 Windows Vietnamese)Tj @@ -3748,7 +3748,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 11)Tj +( -- ExifTool 12.26 -- 11)Tj /TT4 1 Tf 0 -1.6333 TD ( names, the duplicate tags are only included in the CSV output if)Tj @@ -4221,7 +4221,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 12)Tj +( -- ExifTool 12.26 -- 12)Tj /TT4 1 Tf 0 -1.6333 TD ( option, a dash \("-"\) is printed for the value of any missing tag,)Tj @@ -4838,7 +4838,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 13)Tj +( -- ExifTool 12.26 -- 13)Tj /TT4 1 Tf 0 -1.6333 TD ( UTF-8 regardless of any -)Tj @@ -5227,7 +5227,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 14)Tj +( -- ExifTool 12.26 -- 14)Tj /TT4 1 Tf 0 -2.7333 TD ( push @INC, 'lib';)Tj @@ -5492,7 +5492,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 15)Tj +( -- ExifTool 12.26 -- 15)Tj /TT4 1 Tf 0 -1.6333 TD ( A section is defined as a group of consecutive files with the same)Tj @@ -5525,7 +5525,7 @@ T* T* ( produces output like this:)Tj T* -( -- Generated by ExifTool 12.25 --)Tj +( -- Generated by ExifTool 12.26 --)Tj 0 -1.1 TD ( File: a.jpg - 2003:10:31 15:44:19)Tj T* @@ -5871,7 +5871,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 16)Tj +( -- ExifTool 12.26 -- 16)Tj /TT4 1 Tf 0 -1.6333 TD ( to column-align values.)Tj @@ -6414,7 +6414,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 17)Tj +( -- ExifTool 12.26 -- 17)Tj /TT4 1 Tf 0 -1.6333 TD ( the source file extension \(including the '.'\) with the specified)Tj @@ -6645,7 +6645,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 18)Tj +( -- ExifTool 12.26 -- 18)Tj /TT4 1 Tf 0 -1.6333 TD ( For %d and %D, the field width/position specifiers may be applied)Tj @@ -6876,7 +6876,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 19)Tj +( -- ExifTool 12.26 -- 19)Tj /TT4 1 Tf 0 -1.6333 TD ( the output file \(based on the format of the data\). The %g code)Tj @@ -7383,7 +7383,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 20)Tj +( -- ExifTool 12.26 -- 20)Tj /TT4 1 Tf 0 -1.6333 TD ( -)Tj @@ -7884,7 +7884,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 21)Tj +( -- ExifTool 12.26 -- 21)Tj /TT4 1 Tf 0 -1.6333 TD ( that exiftool will automatically fix the offsets for images which)Tj @@ -8441,7 +8441,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 22)Tj +( -- ExifTool 12.26 -- 22)Tj /TT4 1 Tf 0 -1.6333 TD ( character to disable print conversion. The expression $GROUP:all)Tj @@ -8756,7 +8756,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 23)Tj +( -- ExifTool 12.26 -- 23)Tj /TT4 1 Tf 0 -1.6333 TD ( with minor errors and disables some validation checks which could)Tj @@ -9311,7 +9311,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 24)Tj +( -- ExifTool 12.26 -- 24)Tj /TT4 1 Tf 0 -1.6333 TD ( necessary.)Tj @@ -9886,7 +9886,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 25)Tj +( -- ExifTool 12.26 -- 25)Tj /TT4 1 Tf 0 -1.6333 TD ( to tags with numerical tag ID's, and causes tag names like)Tj @@ -10267,7 +10267,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 26)Tj +( -- ExifTool 12.26 -- 26)Tj /TT4 1 Tf 0 -1.6333 TD ( used to prevent the command window from closing when run as a)Tj @@ -10872,7 +10872,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 27)Tj +( -- ExifTool 12.26 -- 27)Tj /TT4 1 Tf 0 -1.6333 TD ( they are supported by the destination metadata format\):)Tj @@ -11239,7 +11239,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 28)Tj +( -- ExifTool 12.26 -- 28)Tj /TT4 1 Tf 0 -1.6333 TD ( -)Tj @@ -11906,7 +11906,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 29)Tj +( -- ExifTool 12.26 -- 29)Tj /TT4 1 Tf 0 -1.6333 TD ( -)Tj @@ -12539,7 +12539,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 30)Tj +( -- ExifTool 12.26 -- 30)Tj /TT4 1 Tf 0 -1.6333 TD ( per line \(see the -)Tj @@ -13096,7 +13096,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 31)Tj +( -- ExifTool 12.26 -- 31)Tj /TT4 1 Tf 0 -1.6333 TD ( with spaces translated to underlines, and multiple consecutive)Tj @@ -13295,7 +13295,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 32)Tj +( -- ExifTool 12.26 -- 32)Tj /TT4 1 Tf 0 -1.6333 TD ( valid ExifTool character set, preferably "UTF8" \(see the -)Tj @@ -13804,7 +13804,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 33)Tj +( -- ExifTool 12.26 -- 33)Tj /TT4 1 Tf 0 -1.6333 TD ( quotes as below around arguments containing special characters.)Tj @@ -13941,7 +13941,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 34)Tj +( -- ExifTool 12.26 -- 34)Tj /TT4 1 Tf 0 -2.7333 TD ( exiftool -icc_profile -b -w icc image.jpg)Tj @@ -14108,7 +14108,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 35)Tj +( -- ExifTool 12.26 -- 35)Tj /TT4 1 Tf 0 -1.6333 TD ( exiftool -r -XMP-crss:all= DIR)Tj @@ -14275,7 +14275,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 36)Tj +( -- ExifTool 12.26 -- 36)Tj /TT4 1 Tf 0 -1.6333 TD ( Copy the values of all writable tags from "src.cr2" to "dst.jpg",)Tj @@ -14444,7 +14444,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 37)Tj +( -- ExifTool 12.26 -- 37)Tj /TT4 1 Tf 0 -1.6333 TD ( Recursively rewrite all "JPG" images in "dir" with information)Tj @@ -14691,7 +14691,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 38)Tj +( -- ExifTool 12.26 -- 38)Tj /TT4 1 Tf 0 -1.6333 TD ( exiftool -o . '-Directory<DateTimeOriginal' -d %Y/%m/%d dir)Tj @@ -14868,7 +14868,7 @@ BT /GS1 gs 0 Tc 0 Tw -( -- ExifTool 12.25 -- 39)Tj +( -- ExifTool 12.26 -- 39)Tj /TT4 1 Tf 0 -1.6333 TD ( exiftool -xmp:geotag=track.log a.jpg)Tj @@ -15243,7 +15243,7 @@ T* 0.6 0 TD (s\(3pm\), Image::ExifTool::Shift.pl)Tj -19.2 -4.4 TD -(perl v5.18.4 2021-04-22 EXIFTOOL\(1\))Tj +(perl v5.18.4 2021-05-20 EXIFTOOL\(1\))Tj ET endstream endobj @@ -15703,8 +15703,8 @@ endobj endobj 130 0 obj << -/CreationDate (D:20210422145337-04'00') -/ModDate (D:20210422145337-04'00') +/CreationDate (D:20210520202904-04'00') +/ModDate (D:20210520202904-04'00') /Producer (Apple pstopdf) >> endobj @@ -15854,7 +15854,7 @@ trailer /Size 132 /Root 131 0 R /Info 130 0 R -/ID [<b3d1dc5ae4b0d68c4a17df38172d68bb><b3d1dc5ae4b0d68c4a17df38172d68bb>] +/ID [<4d82a8c20d97e3c2c2301d448688147e><4d82a8c20d97e3c2c2301d448688147e>] >> startxref 267708 diff --git a/html/geotag.html b/html/geotag.html index 3912ecb3..5b165574 100644 --- a/html/geotag.html +++ b/html/geotag.html @@ -91,11 +91,11 @@ option, so this command is equivalent to the one above:</p> <p>Multiple GPS log files may be loaded simultaneously by using more than one <code>-geotag</code> option or <code>-geotag=</code> assignment in the same -command. This allows batch processing of images spanning different tracks with -a single command. Wildcards may be used in the argument of the -<code>-geotag</code> option, but note that the argument may then need to be -quoted on some systems to prevent shell globbing, and that wildcards are not -supported with the <code>-geotag=</code> syntax. See the +command, or by using wildcards in the filename argument of the +<code>-geotag</code> option. This allows batch processing of images spanning +different tracks with a single command. When using wildcards the argument may +need to be quoted on some systems to prevent shell globbing, but note that +wildcards are not supported with the <code>-geotag=</code> syntax. See the <a href="#Examples">examples</a> below.</p> <p>Deleting the <code>Geotag</code> tag (with <code>-geotag=</code>) causes the @@ -717,7 +717,7 @@ forum post</a> for more useful tips about creating KML files.</p> <hr> <i>Created Apr. 2, 2009</i><br> -<i>Last revised Dec. 1, 2020</i> +<i>Last revised Apr. 27, 2021</i> <p class='lf'><a href="index.html"><-- Back to ExifTool home page</a></p> </body> </html> diff --git a/html/history.html b/html/history.html index 24533f51..5653f8b0 100644 --- a/html/history.html +++ b/html/history.html @@ -11,16 +11,30 @@ <p>RSS feed: <a href="https://exiftool.org/rss.xml">https://exiftool.org/rss.xml</a></p> -<p><b>Note:</b> The most recent production release is <a href="Image-ExifTool-12.16.tar.gz">Version 12.16</a>. (Other versions are +<p><b>Note:</b> The most recent production release is <a href="Image-ExifTool-12.26.tar.gz">Version 12.26</a>. (Other versions are considered development releases, and are not uploaded to <a href="https://metacpan.org/release/Image-ExifTool">MetaCPAN</a>.)</p> <!-- Use line width of 80 --> <!-- *********************************************************************** --> +<a name='v12.26'><b>May 20, 2021 - Version 12.26</b></a> <span class=grn>(production release)</span> +<ul> +<li>Added support for JPEG Stereo (JPS) images +<li>Added a new Sony LensType (thanks LibRaw) +<li>Added a new PentaxModelID (thanks LibRaw) +<li>Changed ExifTool namespace URI to use exiftool.org instead of exiftool.ca in + the -X option output (exiftool.ca is still recognized when reading XML) +<li>Improved handling of large-array warnings in -htmldump output +<li>Changed handling of escaped characters in #[CSTR] lines of -@ argfile +<li>Patched security vulnerability in argument of -lang option +<li>Fixed problem which could cause a "Wide character" warning and generate a + corrupted output file when writing some illegal values +</ul> + <a name='v12.25'><b>Apr. 22, 2021 - Version 12.25</b></a> <ul> <li>JPEG XL support is now official -<li>Added read support for Medical Research Council (MRC) image files +<li>Added read support for <a href="TagNames/MRC.html">Medical Research Council (MRC) image files</a> <li>Added ability to write a number of 3gp tags in video files <li>Added a new Sony PictureProfile value (thanks Jos Roost) <li>Added a new Sony LensType (thanks LibRaw) @@ -44,11 +58,11 @@ considered development releases, and are not uploaded to <a href="https://metacp <li>Added a new PhaseOne RawFormat value (thanks LibRaw) <li>Decode a new Sony tag (thanks Jos Roost) <li>Decode a few new Panasonic and FujiFilm tags (thanks LibRaw and Greybeard) -<li>Patched security vulnerability in DjVu reader <li>Updated acdsee.config in distribution (thanks StarGeek) <li>Recognize AutoCAD DXF files <li>More work on experimental JUMBF read support <li>More work on experimental JPEG XL read/write support +<li>Patched security vulnerability in DjVu reader </ul> <a name='v12.23'><b>Apr. 1, 2021 - Version 12.23</b></a> @@ -87,7 +101,7 @@ considered development releases, and are not uploaded to <a href="https://metacp <li>Improved flexibility when writing GPS coordinates: <ul> <li>Now pulls latitude and longitude from a combined GPSCoordinates string - <li>Recognizes the full word "South" and "West" to write negative coordinates + <li>Recognize full word "South" and "West" to write negative coordinates </ul> <li>Improved warning when trying to write an integer QuickTime date/time tag and Time::Local is not available diff --git a/html/index.html b/html/index.html index b90b9068..26e37263 100644 --- a/html/index.html +++ b/html/index.html @@ -87,9 +87,9 @@ span.sup { font-size: 0.8em; font-weight: normal; position: relative; top </div> <blockquote><table class='dl lg'><tr><td><b> -<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-12.25.tar.gz/download"> -Download Version 12.25</a> (4.7 MB) - -<a href="history.html">Apr. 22, 2021</a></b></td></tr></table></blockquote> +<a href="http://sourceforge.net/projects/exiftool/files/Image-ExifTool-12.26.tar.gz/download"> +Download Version 12.26</a> (4.7 MB) - +<a href="history.html">May 20, 2021</a></b></td></tr></table></blockquote> <p><b>ExifTool is a platform-independent <a href="ExifTool.html">Perl library</a> plus a <a href="exiftool_pod.html">command-line application</a> for @@ -142,8 +142,8 @@ distribution above.)</i></p> <blockquote><table class='dl lg'><tr><td><b> <a name="alone">Windows Executable:</a> -<a href="http://sourceforge.net/projects/exiftool/files/exiftool-12.25.zip/download"> - exiftool-12.25.zip</a> (6.4 MB)</b></td></tr></table></blockquote> +<a href="http://sourceforge.net/projects/exiftool/files/exiftool-12.26.zip/download"> + exiftool-12.26.zip</a> (6.4 MB)</b></td></tr></table></blockquote> <p><b>The stand-alone Windows executable</b> does not require Perl. Just download and un-zip the archive then double-click on @@ -161,7 +161,7 @@ if you have any problems/comments with this version.)</i></p> <blockquote><table class='dl lg'><tr><td><b> MacOS Package: <a href="http://sourceforge.net/projects/exiftool/files/ExifTool-9.70.dmg/download"> - ExifTool-12.25.dmg</a> (3.0 MB)</b></td></tr></table></blockquote> + ExifTool-12.26.dmg</a> (3.0 MB)</b></td></tr></table></blockquote> <p><b>The MacOS package</b> installs the ExifTool command-line application and libraries in /usr/local/bin. After installing, type "<code>exiftool</code>" in a @@ -511,6 +511,7 @@ of meta information in JPEG images:</p> <tr><td>APP2 - PreviewImage</td><td>R</td><td>Samsung/GE APP2 preview image (multi-segment)</td></tr> <tr><td>APP3 - <a href="TagNames/Kodak.html#Meta">Kodak Meta</a></td><td>R/W</td><td>Kodak Meta information (EXIF-like)</td></tr> <tr><td>APP3 - <a href="TagNames/Stim.html">Stim</a></td><td>R</td><td>Stereo Still Image format</td></tr> +<tr><td>APP3 - <a href="TagNames/JPEG.html#JPS">JPS</a></td><td>R</td><td>JPEG Stereo image</td></tr> <tr><td>APP3 - ThermalData</td><td>R</td><td>Thermal data from DJI RJPEG file (multi-segment)</td></tr> <tr><td>APP3 - PreviewImage</td><td>R</td><td>Samsung/HP preview image (multi-segment)</td></tr> <tr><td>APP4 - <a href="TagNames/Scalado.html">Scalado</a></td><td>R</td><td>(presumably written by <a href="http://www.scalado.com/">Scalado</a> mobile software)</td></tr> @@ -803,9 +804,9 @@ of the group names in each family:</p> <blockquote><table class=norm> <tr><th>Family</th><th>Group Names</th></tr> <tr><td><b>0 (Information Type)</b></td> -<td class=sm>AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, -APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, -EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, +<td class=sm>AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP3, APP4, +APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, +Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, @@ -824,7 +825,7 @@ GoPro, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360, -InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JUMBF, JVC, +InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JPS, JSON, JUMBF, JVC, Jpeg2000, KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lyrics3, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, diff --git a/html/install.html b/html/install.html index 18fc3bf9..061e740e 100644 --- a/html/install.html +++ b/html/install.html @@ -52,10 +52,10 @@ documentation or some other files of the full distribution.</p> <h3>Stand-Alone Executable</h3> <ol> <li><b>Download</b> the <b>Windows Executable</b> from the <a href="index.html">ExifTool home page</a>. -<br><span class=lt>(The file you download should be named "<code>exiftool-12.25.zip</code>".)</span></li> +<br><span class=lt>(The file you download should be named "<code>exiftool-12.26.zip</code>".)</span></li> <li><b>Extract "<code>exiftool(-k).exe</code>"</b> from the "<code>.zip</code>" file, and place it <b>on your Desktop</b>. -<br><span class=lt>(Double-click on "<code>exiftool-12.25.zip</code>" to open +<br><span class=lt>(Double-click on "<code>exiftool-12.26.zip</code>" to open the archive, then drag "<code>exiftool(-k).exe</code>" to your Desktop.)</span></li> </ol> <p>You can now double-click on "<code>exiftool(-k).exe</code>" to read the @@ -109,7 +109,7 @@ can be downloaded from <a href="http://www.activestate.com/activeperl/">activeperl.com</a>.)</p> <ol> <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a> -<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.25.tar.gz</code>".)</span></li> +<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.26.tar.gz</code>".)</span></li> <li><b>Extract the ExifTool files</b> from the archive. <br><span class=lt>(The archive is a gzipped tar file, and can be opened with various Windows utilities, including WinZip.)</span></li> @@ -151,7 +151,7 @@ in the MacOS package. Both versions run natively on PPC and Intel Macs.</p> <h3>MacOS Package</h3> <ol> <li><b>Download</b> the <b>ExifTool MacOS Package</b> from the <a href="index.html">ExifTool home page</a>. -<br><span class=lt>(The file you download should be named "<code>ExifTool-12.25.dmg</code>".)</span></li> +<br><span class=lt>(The file you download should be named "<code>ExifTool-12.26.dmg</code>".)</span></li> <li><b>Install</b> as a normal <b>MacOS package</b>. <br><span class=lt>(Open the disk image, double-click on the install package, and follow the instructions. See the second item in the Notes section below if you are stopped with an "unidentified developer" message.) @@ -167,12 +167,12 @@ See the second item in the Notes section below if you are stopped with an "unide <ol> <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a> to your Desktop. -<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.25.tar.gz</code>".)</span></li> +<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.26.tar.gz</code>".)</span></li> <li><b>Launch</b> the <b>Terminal</b> application from the Utilities folder in your Applications folder.</li> <li>In the Terminal window, <b>type the following</b>: <pre class='code'> cd ~/Desktop - tar -xzf Image-ExifTool-12.25.tar.gz - cd Image-ExifTool-12.25 + tar -xzf Image-ExifTool-12.26.tar.gz + cd Image-ExifTool-12.26 sudo cp -r exiftool lib /usr/local/bin </pre> <span class=lt>(Note: The last step above will require you to enter your @@ -188,7 +188,7 @@ your Perl version. If both sets of libraries exist, /usr/local/bin/lib takes precedence for exiftool, but /Library/Perl/#.#.# is the default for any other Perl scripts.</li> <li>In MacOS 10.8 or later, you may see this message when you try to open the install package: -<blockquote class=red>"ExifTool-12.25.pkg" can't be opened because it is from an +<blockquote class=red>"ExifTool-12.26.pkg" can't be opened because it is from an unidentified developer.</blockquote> The solution is to control-click on the pkg then select "Open" from the pop-up menu instead of just double-clicking. An alternative is to lower the security settings by changing "Allow applications downloaded from" to @@ -215,11 +215,11 @@ have the wrong "<code>lib</code>" folder.</li> <ol> <li><b>Download</b> the <b>Image-ExifTool distribution</b> from the <a href="index.html">ExifTool home page</a> -<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.25.tar.gz</code>".)</span></li> +<br><span class=lt>(The file you download should be named "<code>Image-ExifTool-12.26.tar.gz</code>".)</span></li> <li><b>Unpack the distribution</b> and <b>make it your current directory</b> by typing: <pre class='code'> cd <i><your download directory></i> - gzip -dc Image-ExifTool-12.25.tar.gz | tar -xf - - cd Image-ExifTool-12.25 + gzip -dc Image-ExifTool-12.26.tar.gz | tar -xf - + cd Image-ExifTool-12.26 </pre> <span class=lt>(At this point you may run exiftool by typing "<code>./exiftool <i><image file name></i></code>".)</span></li> diff --git a/html/sample_images.html b/html/sample_images.html index 3d35f127..723b72c1 100644 --- a/html/sample_images.html +++ b/html/sample_images.html @@ -8,7 +8,7 @@ <body> <h1 class='up'>ExifTool Meta Information Repository</h1> <p>The following archives contain sample JPEG images with the original meta -information from 6920 different models of digital cameras, DV recorders, +information from 6923 different models of digital cameras, DV recorders, scanners and cell phones from 103 manufacturers. To conserve space and avoid copyright problems, the main image has been replaced, and the large preview image (and any other information found after the JPEG EOI) has been removed. @@ -102,10 +102,10 @@ repository as more suitable samples become available.</p> <td align='right'>65 kB </td> <td> <a href='Fly.tar.gz'>Fly.tar.gz</a></td> <td align='center'>2011-01-28</td></tr> -<tr><td> FujiFilm</td><td align='center'>395</td> +<tr><td> FujiFilm</td><td align='center'>396</td> <td align='right'>11 MB </td> <td> <a href='FujiFilm.tar.gz'>FujiFilm.tar.gz</a></td> -<td align='center'>2020-12-02</td></tr> +<td align='center'>2021-05-10</td></tr> <tr><td> Garmin</td><td align='center'>2</td> <td align='right'>18 kB </td> <td> <a href='Garmin.tar.gz'>Garmin.tar.gz</a></td> @@ -314,10 +314,10 @@ repository as more suitable samples become available.</p> <td align='right'>153 kB </td> <td> <a href='RIM.tar.gz'>RIM.tar.gz</a></td> <td align='center'>2018-05-09</td></tr> -<tr><td> Ricoh</td><td align='center'>107</td> -<td align='right'>2.3 MB </td> +<tr><td> Ricoh</td><td align='center'>108</td> +<td align='right'>2.4 MB </td> <td> <a href='Ricoh.tar.gz'>Ricoh.tar.gz</a></td> -<td align='center'>2020-05-11</td></tr> +<td align='center'>2021-05-10</td></tr> <tr><td> Rollei</td><td align='center'>18</td> <td align='right'>600 kB </td> <td> <a href='Rollei.tar.gz'>Rollei.tar.gz</a></td> @@ -326,10 +326,10 @@ repository as more suitable samples become available.</p> <td align='right'>119 kB </td> <td> <a href='Sagem.tar.gz'>Sagem.tar.gz</a></td> <td align='center'>2011-12-14</td></tr> -<tr><td> Samsung</td><td align='center'>689</td> +<tr><td> Samsung</td><td align='center'>690</td> <td align='right'>13 MB </td> <td> <a href='Samsung.tar.gz'>Samsung.tar.gz</a></td> -<td align='center'>2020-12-02</td></tr> +<td align='center'>2021-05-10</td></tr> <tr><td> Sanyo</td><td align='center'>76</td> <td align='right'>1.1 MB </td> <td> <a href='Sanyo.tar.gz'>Sanyo.tar.gz</a></td> @@ -434,12 +434,12 @@ repository as more suitable samples become available.</p> <td align='right'>351 kB </td> <td> <a href='ZTE.tar.gz'>ZTE.tar.gz</a></td> <td align='center'>2015-07-27</td></tr> -<tr bgcolor='#dddddd'><th>Total</th><td align='center'>6920 models</td> -<td align='right'>139.7 MB </td><td align='center'>103 makes</td> -<td align='center'>2021-02-05</td></tr> +<tr bgcolor='#dddddd'><th>Total</th><td align='center'>6923 models</td> +<td align='right'>139.8 MB </td><td align='center'>103 makes</td> +<td align='center'>2021-05-10</td></tr> </table></blockquote><hr> <i>Created May 15, 2006</i><br> -<i>Last revised Feb 5, 2021</i> +<i>Last revised May 10, 2021</i> <p class='lf'><a href='index.html'><-- Back to ExifTool home page</a></p> </body> </html> diff --git a/lib/Image/ExifTool.pm b/lib/Image/ExifTool.pm index 310186ee..a62ca7f8 100644 --- a/lib/Image/ExifTool.pm +++ b/lib/Image/ExifTool.pm @@ -28,7 +28,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd %jpegMarker %specialTags %fileTypeLookup $testLen $exePath); -$VERSION = '12.25'; +$VERSION = '12.26'; $RELEASE = ''; @ISA = qw(Exporter); %EXPORT_TAGS = ( @@ -354,6 +354,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV); JPF => 'JP2', JPG => 'JPEG', JPM => ['JP2', 'JPEG 2000 compound image'], + JPS => ['JPEG', 'JPEG Stereo image'], JPX => ['JP2', 'JPEG 2000 with extensions'], JSON => ['JSON', 'JavaScript Object Notation'], JXL => ['JXL', 'JPEG XL'], @@ -654,6 +655,7 @@ my %fileDescription = ( JP2 => 'image/jp2', JPEG => 'image/jpeg', JPM => 'image/jpm', + JPS => 'image/x-jps', JPX => 'image/jpx', JSON => 'application/json', JXL => 'image/jxl', #PH (NC) @@ -2084,12 +2086,15 @@ sub Options($$;@) $$options{$param} = $newVal; delete $$self{CUR_LANG}; # make sure the language is available - } elsif (eval "require Image::ExifTool::Lang::$newVal") { - my $xlat = "Image::ExifTool::Lang::${newVal}::Translate"; - no strict 'refs'; - if (%$xlat) { - $$self{CUR_LANG} = \%$xlat; - $$options{$param} = $newVal; + } else { + my %langs = map { $_ => 1 } @langs; + if ($langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal") { + my $xlat = "Image::ExifTool::Lang::${newVal}::Translate"; + no strict 'refs'; + if (%$xlat) { + $$self{CUR_LANG} = \%$xlat; + $$options{$param} = $newVal; + } } } # else don't change Lang } elsif ($param eq 'Exclude' and defined $newVal) { @@ -6761,6 +6766,12 @@ sub ProcessJPEG($$) # extract the Stim information (it is in standard TIFF format) my $tagTablePtr = GetTagTable('Image::ExifTool::Stim::Main'); $self->ProcessTIFF(\%dirInfo, $tagTablePtr); + } elsif ($$segDataPt =~ /^_JPSJPS_/) { + $dumpType = 'JPS'; + $self->OverrideFileType('JPS') if $$self{FILE_TYPE} eq 'JPEG'; + SetByteOrder('MM'); + my $tagTablePtr = GetTagTable('Image::ExifTool::JPEG::JPS'); + $self->ProcessDirectory(\%dirInfo, $tagTablePtr); } elsif ($$self{Make} eq 'DJI') { $dumpType = 'DJI ThermalData'; # add this data to the combined data if it exists diff --git a/lib/Image/ExifTool.pod b/lib/Image/ExifTool.pod index 97ea7e46..28601596 100644 --- a/lib/Image/ExifTool.pod +++ b/lib/Image/ExifTool.pod @@ -2284,9 +2284,9 @@ Here is a complete list of groups for each of these families: =item Family 0 (Information Type): -AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP4, APP5, -APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, Ducky, -EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, +AFCP, AIFF, APE, APP0, APP1, APP11, APP12, APP13, APP14, APP15, APP3, APP4, +APP5, APP6, APP8, ASF, Audible, CanonVRD, Composite, DICOM, DNG, DV, DjVu, +Ducky, EXE, EXIF, ExifTool, FITS, FLAC, FLIR, File, Flash, FlashPix, Font, FotoStation, GIF, GIMP, GeoTiff, GoPro, H264, HTML, ICC_Profile, ID3, IPTC, ISO, ITC, JFIF, JPEG, JSON, JUMBF, Jpeg2000, LNK, Leaf, Lytro, M2TS, MIE, MIFF, MNG, MOI, MPC, MPEG, MPF, MXF, MakerNotes, Matroska, Meta, Ogg, @@ -2306,7 +2306,7 @@ GoPro, GraphConv, H264, HP, HTC, HTML, HTML-dc, HTML-ncc, HTML-office, HTML-prod, HTML-vw96, HTTP-equiv, ICC-chrm, ICC-clrt, ICC-header, ICC-meas, ICC-meta, ICC-view, ICC_Profile, ICC_Profile#, ID3, ID3v1, ID3v1_Enh, ID3v2_2, ID3v2_3, ID3v2_4, IFD0, IFD1, IPTC, IPTC#, ISO, ITC, Insta360, -InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JSON, JUMBF, JVC, +InteropIFD, ItemList, JFIF, JFXX, JPEG, JPEG-HDR, JPS, JSON, JUMBF, JVC, Jpeg2000, KDC_IFD, Keys, Kodak, KodakBordersIFD, KodakEffectsIFD, KodakIFD, KyoceraRaw, LNK, Leaf, LeafSubIFD, Leica, Lyrics3, Lytro, M2TS, MAC, MIE-Audio, MIE-Camera, MIE-Canon, MIE-Doc, MIE-Extender, MIE-Flash, MIE-GPS, diff --git a/lib/Image/ExifTool/Canon.pm b/lib/Image/ExifTool/Canon.pm index a9147d09..9fb3278f 100644 --- a/lib/Image/ExifTool/Canon.pm +++ b/lib/Image/ExifTool/Canon.pm @@ -88,7 +88,7 @@ sub ProcessCTMD($$$); sub ProcessExifInfo($$$); sub SwapWords($); -$VERSION = '4.47'; +$VERSION = '4.48'; # Note: Removed 'USM' from 'L' lenses since it is redundant - PH # (or is it? Ref 32 shows 5 non-USM L-type lenses) @@ -579,19 +579,19 @@ $VERSION = '4.47'; 61182.7 => 'Canon RF 15-35mm F2.8L IS USM', 61182.8 => 'Canon RF 24-240mm F4-6.3 IS USM', 61182.9 => 'Canon RF 70-200mm F2.8L IS USM', - 61182.10 => 'Canon RF 85mm F2 MACRO IS STM', - 61182.11 => 'Canon RF 600mm F11 IS STM', - 61182.12 => 'Canon RF 600mm F11 IS STM + RF1.4x', - 61182.13 => 'Canon RF 600mm F11 IS STM + RF2x', - 61182.14 => 'Canon RF 800mm F11 IS STM', - 61182.15 => 'Canon RF 800mm F11 IS STM + RF1.4x', - 61182.16 => 'Canon RF 800mm F11 IS STM + RF2x', - 61182.17 => 'Canon RF 24-105mm F4-7.1 IS STM', - 61182.18 => 'Canon RF 100-500mm F4.5-7.1L IS USM', - 61182.19 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x', - 61182.20 => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF2x', - 61182.21 => 'Canon RF 70-200mm F4L IS USM', #42 - 61182.22 => 'Canon RF 50mm F1.8 STM', #42 + '61182.10' => 'Canon RF 85mm F2 MACRO IS STM', + '61182.11' => 'Canon RF 600mm F11 IS STM', + '61182.12' => 'Canon RF 600mm F11 IS STM + RF1.4x', + '61182.13' => 'Canon RF 600mm F11 IS STM + RF2x', + '61182.14' => 'Canon RF 800mm F11 IS STM', + '61182.15' => 'Canon RF 800mm F11 IS STM + RF1.4x', + '61182.16' => 'Canon RF 800mm F11 IS STM + RF2x', + '61182.17' => 'Canon RF 24-105mm F4-7.1 IS STM', + '61182.18' => 'Canon RF 100-500mm F4.5-7.1L IS USM', + '61182.19' => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF1.4x', + '61182.20' => 'Canon RF 100-500mm F4.5-7.1L IS USM + RF2x', + '61182.21' => 'Canon RF 70-200mm F4L IS USM', #42 + '61182.22' => 'Canon RF 50mm F1.8 STM', #42 65535 => 'n/a', ); diff --git a/lib/Image/ExifTool/Exif.pm b/lib/Image/ExifTool/Exif.pm index 230b05f4..f45e904a 100644 --- a/lib/Image/ExifTool/Exif.pm +++ b/lib/Image/ExifTool/Exif.pm @@ -56,7 +56,7 @@ use vars qw($VERSION $AUTOLOAD @formatSize @formatName %formatNumber %intFormat use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::MakerNotes; -$VERSION = '4.34'; +$VERSION = '4.35'; sub ProcessExif($$$); sub WriteExif($$$); @@ -2581,7 +2581,7 @@ my %opcodeInfo = ( 0xa301 => { Name => 'SceneType', Writable => 'undef', - ValueConvInv => 'chr($val)', + ValueConvInv => 'chr($val & 0xff)', PrintConv => { 1 => 'Directly photographed', }, @@ -6171,18 +6171,23 @@ sub ProcessExif($$$) unless ($bad) { # limit maximum length of data to reformat # (avoids long delays when processing some corrupted files) + my $warned; if ($count > 100000 and $formatStr !~ /^(undef|string|binary)$/) { my $tagName = $tagInfo ? $$tagInfo{Name} : sprintf('tag 0x%.4x', $tagID); # (count of 196608 is typical for ColorMap) if ($tagName ne 'TransferFunction' or $count != 196608) { my $minor = $count > 2000000 ? 0 : 2; - next if $et->Warn("Ignoring $dirName $tagName with excessive count", $minor); + if ($et->Warn("Ignoring $dirName $tagName with excessive count", $minor)) { + next unless $$et{OPTIONS}{HtmlDump}; + $warned = 1; + } } } if ($count > 500 and $formatStr !~ /^(undef|string|binary)$/ and - (not $tagInfo or $$tagInfo{LongBinary}) and not $$et{OPTIONS}{IgnoreMinorErrors}) + (not $tagInfo or $$tagInfo{LongBinary} or $warned) and not $$et{OPTIONS}{IgnoreMinorErrors}) { - $et->WarnOnce('Not decoding some large array(s). Ignore minor errors to decode', 2); + $et->WarnOnce('Not decoding some large array(s). Ignore minor errors to decode', 2) unless $warned; + next if $$et{TAGS_FROM_FILE}; # don't generate bogus value when copying tags $val = "(large array of $count $formatStr values)"; } else { # convert according to specified format diff --git a/lib/Image/ExifTool/JPEG.pm b/lib/Image/ExifTool/JPEG.pm index efa11525..40853ae0 100644 --- a/lib/Image/ExifTool/JPEG.pm +++ b/lib/Image/ExifTool/JPEG.pm @@ -11,7 +11,7 @@ use strict; use vars qw($VERSION); use Image::ExifTool qw(:DataAccess :Utils); -$VERSION = '1.30'; +$VERSION = '1.32'; sub ProcessOcad($$$); sub ProcessJPEG_HDR($$$); @@ -97,6 +97,10 @@ sub ProcessJPEG_HDR($$$); Condition => '$$valPt =~ /^Stim\0/', SubDirectory => { TagTable => 'Image::ExifTool::Stim::Main' }, }, { + Name => 'JPS', + Condition => '$$valPt =~ /^_JPSJPS_/', + SubDirectory => { TagTable => 'Image::ExifTool::JPEG::JPS' }, + }, { Name => 'ThermalData', # (written by DJI FLIR models) Condition => '$$self{Make} eq "DJI"', Notes => 'DJI raw thermal data', @@ -287,6 +291,68 @@ sub ProcessJPEG_HDR($$$); }], ); +# JPS APP3 segment (ref http://paulbourke.net/stereographics/stereoimage/) +%Image::ExifTool::JPEG::JPS = ( + PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData, + GROUPS => { 0 => 'APP3', 1 => 'JPS', 2 => 'Image' }, + NOTES => 'Tags found in JPEG Stereo (JPS) images.', + 0x0a => { + Name => 'JPSSeparation', + Format => 'int32u', # (just so we can look ahead to MediaType); + Notes => 'stereo only', + RawConv => q{ + $$self{MediaType} = $val & 0xff; + return undef unless $$self{MediaType} == 1; + return(($val >> 24) & 0xff); + }, + }, + 0x08 => { + Name => 'HdrLength', + Format => 'int16u', + Hidden => 1, + RawConv => '$$self{HdrLength} = $val; undef', + }, + 0x0b => { + Name => 'JPSFlags', + PrintConv => { BITMASK => { + 0 => 'Half height', + 1 => 'Half width', + 2 => 'Left field first', + }}, + }, + 0x0c => [{ + Name => 'JPSLayout', + Condition => '$$self{MediaType} == 0', + Notes => 'mono', + PrintConv => { + 0 => 'Both Eyes', + 1 => 'Left Eye', + 2 => 'Right Eye', + }, + },{ + Name => 'JPSLayout', + Condition => '$$self{MediaType} == 1', + Notes => 'stereo', + PrintConv => { + 1 => 'Interleaved', + 2 => 'Side By Side', + 3 => 'Over Under', + 4 => 'Anaglyph', + }, + }], + 0x0d => { + Name => 'JPSType', + Hook => '$varSize += $$self{HdrLength} - 4', # comment starts after header block + PrintConv => { 0 => 'Mono', 1 => 'Stereo' }, + }, + # 0x0e - in16u comment length (ignored -- assume the remainder is all comment) + # (this is offset if we had a 4-byte JPS header block) + 0x10 => { + Name => 'JPSComment', + Format => 'string', + }, +); + # EPPIM APP6 (Toshiba PrintIM) segment (ref PH, from PDR-M700 samples) %Image::ExifTool::JPEG::EPPIM = ( GROUPS => { 0 => 'APP6', 1 => 'EPPIM', 2 => 'Image' }, @@ -545,7 +611,7 @@ sub ProcessJPEG_HDR($$$); }, 2 => { Name => 'ImageFormat', - ValueConv => 'chr($val)', + ValueConv => 'chr($val & 0xff)', PrintConv => { B => 'IMode B' }, }, 3 => { diff --git a/lib/Image/ExifTool/MIE.pm b/lib/Image/ExifTool/MIE.pm index 73bfe928..fd19fa5f 100644 --- a/lib/Image/ExifTool/MIE.pm +++ b/lib/Image/ExifTool/MIE.pm @@ -14,7 +14,7 @@ use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; use Image::ExifTool::GPS; -$VERSION = '1.48'; +$VERSION = '1.49'; sub ProcessMIE($$); sub ProcessMIEGroup($$$); @@ -1023,6 +1023,7 @@ sub WriteMIEGroup($$$) # we are writing the new tag now my ($newVal, $writable, $oldVal, $newFormat, $compress); my $newTag = shift @editTags; + length($newTag) > 255 and $et->Warn('Tag name too long'), next; # (just to be safe) my $newInfo = $$editDirs{$newTag}; if ($newInfo) { # create the new subdirectory or rewrite existing non-MIE directory diff --git a/lib/Image/ExifTool/MRC.pm b/lib/Image/ExifTool/MRC.pm index 7e184e90..5aa4f11d 100644 --- a/lib/Image/ExifTool/MRC.pm +++ b/lib/Image/ExifTool/MRC.pm @@ -285,7 +285,7 @@ sub ProcessMRC($$) $et->ProcessDirectory(\%dirInfo, $tagTablePtr); last if ++$i >= $$et{ImageDepth}; unless ($$et{OPTIONS}{ExtractEmbedded}) { - $et->Warn('Use the ExtractEmbedded option to read metadata for all frames',1); + $et->Warn('Use the ExtractEmbedded option to read metadata for all frames',3); last; } $$et{DOC_NUM} = ++$$et{DOC_COUNT}; diff --git a/lib/Image/ExifTool/Nikon.pm b/lib/Image/ExifTool/Nikon.pm index 834d4890..e441b557 100644 --- a/lib/Image/ExifTool/Nikon.pm +++ b/lib/Image/ExifTool/Nikon.pm @@ -62,7 +62,7 @@ use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; use Image::ExifTool::GPS; -$VERSION = '3.95'; +$VERSION = '3.96'; sub LensIDConv($$$); sub ProcessNikonAVI($$$); @@ -9468,7 +9468,7 @@ sub GetAFPointGrid($$;$) return undef unless $val =~ /^([A-J])(\d+)$/i; return (ord(uc($1))-65) * $ncol + $2 - 1; } else { - my $row = int(($val + 0.5) / $ncol); + my $row = int(($val + 0.5) / $ncol) & 0xff; my $col = $val - $ncol * $row + 1; return chr(65+$row) . $col; } diff --git a/lib/Image/ExifTool/Panasonic.pm b/lib/Image/ExifTool/Panasonic.pm index 6ad8619b..4b44ffdd 100644 --- a/lib/Image/ExifTool/Panasonic.pm +++ b/lib/Image/ExifTool/Panasonic.pm @@ -1423,6 +1423,7 @@ my %shootingMode = ( Name => 'NoiseReductionStrength', Writable => 'rational64s', }, + # 0xe4 - LensID (ref IB) 0x0e00 => { Name => 'PrintIM', Description => 'Print Image Matching', diff --git a/lib/Image/ExifTool/Pentax.pm b/lib/Image/ExifTool/Pentax.pm index a18b8a60..4ee0a36f 100644 --- a/lib/Image/ExifTool/Pentax.pm +++ b/lib/Image/ExifTool/Pentax.pm @@ -58,7 +58,7 @@ use Image::ExifTool::Exif; use Image::ExifTool::GPS; use Image::ExifTool::HP; -$VERSION = '3.36'; +$VERSION = '3.37'; sub CryptShutterCount($$); sub PrintFilter($$$); @@ -548,6 +548,7 @@ my %pentaxModelID = ( 0x13222 => 'K-70', #29 (Ricoh) 0x1322c => 'KP', #29 (Ricoh) 0x13240 => 'K-1 Mark II', # (Ricoh) + 0x13254 => 'K-3 Mark III', #IB (Ricoh) 0x13290 => 'WG-70', # (Ricoh) ); diff --git a/lib/Image/ExifTool/QuickTime.pm b/lib/Image/ExifTool/QuickTime.pm index f09418ee..e6e9e76e 100644 --- a/lib/Image/ExifTool/QuickTime.pm +++ b/lib/Image/ExifTool/QuickTime.pm @@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; use Image::ExifTool::GPS; -$VERSION = '2.63'; +$VERSION = '2.64'; sub ProcessMOV($$;$); sub ProcessKeys($$$); @@ -6281,6 +6281,10 @@ my %eeBox2 = ( 'location.ISO6709' => { Name => 'GPSCoordinates', Groups => { 2 => 'Location' }, + Notes => q{ + Google Photos may ignore this if the coorinates have more than 5 digits + after the decimal + }, ValueConv => \&ConvertISO6709, ValueConvInv => \&ConvInvISO6709, PrintConv => \&PrintGPSCoordinates, diff --git a/lib/Image/ExifTool/RIFF.pm b/lib/Image/ExifTool/RIFF.pm index 3f040f45..39a27f48 100644 --- a/lib/Image/ExifTool/RIFF.pm +++ b/lib/Image/ExifTool/RIFF.pm @@ -1080,7 +1080,7 @@ my %code2charset = ( Name => 'TextFormat', Condition => '$$self{RIFFStreamType} eq "txts"', Hidden => 1, - RawConv => '$self->Options("ExtractEmbedded") or $self->WarnOnce("Use ExtractEmbedded option to extract timed text"); undef', + RawConv => '$self->Options("ExtractEmbedded") or $self->WarnOnce("Use ExtractEmbedded option to extract timed text",3); undef', }, ], ); diff --git a/lib/Image/ExifTool/Sony.pm b/lib/Image/ExifTool/Sony.pm index 9c2baf79..41b16785 100644 --- a/lib/Image/ExifTool/Sony.pm +++ b/lib/Image/ExifTool/Sony.pm @@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool::Exif; use Image::ExifTool::Minolta; -$VERSION = '3.41'; +$VERSION = '3.42'; sub ProcessSRF($$$); sub ProcessSR2($$$); @@ -232,6 +232,7 @@ sub PrintInvLensSpec($;$$); 50524 => 'Sigma 35mm F2 DG DN | C', #IB (020) 50525 => 'Sigma 24mm F3.5 DG DN | C', #JR (021) 50526 => 'Sigma 28-70mm F2.8 DG DN | C', #JR (021) + 50528 => 'Sigma 35mm F1.4 DG DN | A', #IB (021) 50992 => 'Voigtlander SUPER WIDE-HELIAR 15mm F4.5 III', #JR 50993 => 'Voigtlander HELIAR-HYPER WIDE 10mm F5.6', #IB @@ -260,6 +261,7 @@ sub PrintInvLensSpec($;$$); 51510 => 'Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8', #JR 51510.1 => 'Samyang AF 35mm F1.8', #JR 51512 => 'Samyang AF 75mm F1.8', #IB/JR + 51514 => 'Samyang AF 24mm F1.8 FE', #IB ); # ExposureProgram values (ref PH, mainly decoded from A200) @@ -1493,7 +1495,7 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 ); my ($a,$b,$c,$d) = split ' ', $val; my @a = $a =~ /../g; return undef unless @a == 4; - return Set32u((hex($d)<<22) | ($a[0]<<17) | ($a[1]<<12) | ($a[2]<<6) | $a[3]) . chr($b) . chr($c); + return Set32u((hex($d)<<22) | ($a[0]<<17) | ($a[1]<<12) | ($a[2]<<6) | $a[3]) . chr($b & 0xff) . chr($c & 0xff); }, PrintConv => { '00000000 0 0 0x0' => 'n/a', diff --git a/lib/Image/ExifTool/TagLookup.pm b/lib/Image/ExifTool/TagLookup.pm index d8c400cb..fce79542 100644 --- a/lib/Image/ExifTool/TagLookup.pm +++ b/lib/Image/ExifTool/TagLookup.pm @@ -8715,6 +8715,12 @@ my %tagExists = ( 'jpegrestartinterval' => 1, 'jpegtables' => 1, 'jplcartoifd' => 1, + 'jps' => 1, + 'jpscomment' => 1, + 'jpsflags' => 1, + 'jpslayout' => 1, + 'jpsseparation' => 1, + 'jpstype' => 1, 'jsondata' => 1, 'jsonmetadata' => 1, 'jumbf' => 1, diff --git a/lib/Image/ExifTool/TagNames.pod b/lib/Image/ExifTool/TagNames.pod index a012f776..3dfdc12f 100644 --- a/lib/Image/ExifTool/TagNames.pod +++ b/lib/Image/ExifTool/TagNames.pod @@ -12,7 +12,7 @@ meta information extracted from or written to a file. =head1 TAG TABLES The tables listed below give the names of all tags recognized by ExifTool. -They contain a total of 24273 tags, with 15738 unique tag names. +They contain a total of 24279 tags, with 15743 unique tag names. B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each table. A B<Tag ID> is the computer-readable equivalent of a tag name, and @@ -115,6 +115,7 @@ L<https://www.w3.org/Graphics/JPEG/jfif3.pdf> for the JPEG specification. PreviewImage no 'APP3' Meta Kodak Meta Stim Stim + JPS JPEG JPS ThermalData no PreviewImage no 'APP4' Scalado Scalado @@ -174,6 +175,18 @@ images). ------ -------- -------- 'Rev' OcadRevision no +=head3 JPEG JPS Tags + +Tags found in JPEG Stereo (JPS) images. + + Index1 Tag Name Writable + ------ -------- -------- + 10 JPSSeparation no + 11 JPSFlags no + 12 JPSLayout no + 13 JPSType no + 16 JPSComment no + =head3 JPEG EPPIM Tags APP6 is used in by the Toshiba PDR-M700 to store a TIFF structure containing diff --git a/lib/Image/ExifTool/WriteIPTC.pl b/lib/Image/ExifTool/WriteIPTC.pl index 4335b576..1e9db863 100644 --- a/lib/Image/ExifTool/WriteIPTC.pl +++ b/lib/Image/ExifTool/WriteIPTC.pl @@ -170,7 +170,7 @@ sub FormatIPTC($$$$$;$) } else { my $len = int(($1 || 0) / 8); if ($len == 1) { # 1 byte - $$valPtr = chr($$valPtr); + $$valPtr = chr($$valPtr & 0xff); } elsif ($len == 2) { # 2-byte integer $$valPtr = pack('n', $$valPtr); } else { # 4-byte integer diff --git a/lib/Image/ExifTool/WriteQuickTime.pl b/lib/Image/ExifTool/WriteQuickTime.pl index a325552e..fca98add 100644 --- a/lib/Image/ExifTool/WriteQuickTime.pl +++ b/lib/Image/ExifTool/WriteQuickTime.pl @@ -163,6 +163,9 @@ sub ConvInvISO6709($) # latitude must have 2 digits before the decimal, and longitude 3, # and all values must start with a "+" or "-", and Google Photos # requires at least 3 digits after the decimal point + # (and as of Apr 2021, Google Photos doesn't accept coordinats + # with more than 5 digits after the decimal place: + # https://exiftool.org/forum/index.php?topic=11055.msg67171#msg67171 ) my @fmt = ('%s%02d.%s%s','%s%03d.%s%s','%s%d.%s%s'); foreach (@a) { return undef unless Image::ExifTool::IsFloat($_); diff --git a/lib/Image/ExifTool/WriteXMP.pl b/lib/Image/ExifTool/WriteXMP.pl index 23694612..092bdcd3 100644 --- a/lib/Image/ExifTool/WriteXMP.pl +++ b/lib/Image/ExifTool/WriteXMP.pl @@ -1469,7 +1469,7 @@ sub WriteXMP($$;$) $long[-2] .= "$nl$sp<$prop rdf:about='${about}'"; # generate et:toolkit attribute if this is an exiftool RDF/XML output file if (@ns and $nsCur{$ns[0]} =~ m{^http://ns.exiftool.(?:ca|org)/}) { - $long[-2] .= "\n$sp${sp}xmlns:et='http://ns.exiftool.ca/1.0/'" . + $long[-2] .= "\n$sp${sp}xmlns:et='http://ns.exiftool.org/1.0/'" . " et:toolkit='Image::ExifTool $Image::ExifTool::VERSION'"; } $long[-2] .= "\n$sp${sp}xmlns:$_='$nsCur{$_}'" foreach @ns; diff --git a/lib/Image/ExifTool/XMP.pm b/lib/Image/ExifTool/XMP.pm index 970151ec..d62dcae3 100644 --- a/lib/Image/ExifTool/XMP.pm +++ b/lib/Image/ExifTool/XMP.pm @@ -50,7 +50,7 @@ use Image::ExifTool::Exif; use Image::ExifTool::GPS; require Exporter; -$VERSION = '3.41'; +$VERSION = '3.42'; @ISA = qw(Exporter); @EXPORT_OK = qw(EscapeXML UnescapeXML); @@ -155,7 +155,7 @@ my %xmpNS = ( DICOM => 'http://ns.adobe.com/DICOM/', 'drone-dji'=> 'http://www.dji.com/drone-dji/1.0/', svg => 'http://www.w3.org/2000/svg', - et => 'http://ns.exiftool.ca/1.0/', + et => 'http://ns.exiftool.org/1.0/', # # namespaces defined in XMP2.pl: # @@ -195,7 +195,7 @@ my %xmpNS = ( ); # build reverse namespace lookup -my %uri2ns = ( 'http://ns.exiftool.org/1.0/' => 'et' ); # (allow exiftool.org as well as exiftool.ca) +my %uri2ns = ( 'http://ns.exiftool.ca/1.0/' => 'et' ); # (allow exiftool.ca as well as exiftool.org) { my $ns; foreach $ns (keys %nsURI) { diff --git a/perl-Image-ExifTool.spec b/perl-Image-ExifTool.spec index aefadd01..df5b333b 100644 --- a/perl-Image-ExifTool.spec +++ b/perl-Image-ExifTool.spec @@ -1,6 +1,6 @@ Summary: perl module for image data extraction Name: perl-Image-ExifTool -Version: 12.25 +Version: 12.26 Release: 1 License: Artistic/GPL Group: Development/Libraries/Perl diff --git a/pp_build_exe.args b/pp_build_exe.args index ff955f5a..b7b487b8 100644 --- a/pp_build_exe.args +++ b/pp_build_exe.args @@ -21,10 +21,10 @@ # 10) Copy zip archive to web servers. # 11) Update zip file version in link and text of html/index.html. #------------------------------------------------------------------------------ --T exiftool-12.25 -#--info=FileVersion=12.2.5.0 -#--info=ProductVersion=12.2.5.0 -##"--info=Build Date=2021:04:22 14:33:15-04:00" +-T exiftool-12.26 +#--info=FileVersion=12.2.6.0 +#--info=ProductVersion=12.2.6.0 +##"--info=Build Date=2021:05:20 20:17:36-04:00" ##"--info=Bundled Perl Version=ActivePerl 5.24.0" ##"--info=LegalCopyright=Copyright (c) 2003-2021, Phil Harvey" ##"--info=ProductName=ExifTool" diff --git a/t/ExifTool.t b/t/ExifTool.t index af030ee0..9c9b2406 100644 --- a/t/ExifTool.t +++ b/t/ExifTool.t @@ -2,7 +2,7 @@ # After "make install" it should work as "perl t/ExifTool.t". BEGIN { - $| = 1; print "1..31\n"; $Image::ExifTool::configFile = ''; + $| = 1; print "1..32\n"; $Image::ExifTool::configFile = ''; require './t/TestLib.pm'; t::TestLib->import(); } END {print "not ok 1\n" unless $loaded;} @@ -343,4 +343,13 @@ my $testnum = 1; print "ok $testnum\n"; } +# test 32: Read JPS file +{ + ++$testnum; + my $exifTool = new Image::ExifTool; + my $info = $exifTool->ImageInfo('t/images/ExifTool.jps', 'jps:all'); + print 'not ' unless check($exifTool, $info, $testname, $testnum); + print "ok $testnum\n"; +} + # end diff --git a/t/ExifTool_32.out b/t/ExifTool_32.out new file mode 100644 index 00000000..8fdf6408 --- /dev/null +++ b/t/ExifTool_32.out @@ -0,0 +1,5 @@ +[APP3, JPS, Image] 10 - JPS Separation: 0 +[APP3, JPS, Image] 11 - JPS Flags: Left field first +[APP3, JPS, Image] 12 - JPS Layout: Over Under +[APP3, JPS, Image] 13 - JPS Type: Stereo +[APP3, JPS, Image] 16 - JPS Comment: test comment @@ -21,7 +21,7 @@ END {print "not ok 1\n" unless $loaded;} use vars %Image::ExifTool::UserDefined::myXMPns; # avoid "typo" warning %Image::ExifTool::UserDefined::myXMPns = ( GROUPS => { 0 => 'XMP', 1 => 'XMP-myXMPns'}, - NAMESPACE => { 'myXMPns' => 'http://ns.exiftool.ca/t/XMP.t' }, + NAMESPACE => { 'myXMPns' => 'http://ns.exiftool.org/t/XMP.t' }, WRITABLE => 'string', ATestTag => { List => 'Bag', Resource => 1 }, BTestTag => { @@ -296,7 +296,7 @@ my $testnum = 1; unlink $testfile; my @writeInfo = ( [ 'XMP-x:XMPToolkit' => "What's this?", Protected => 1 ], - [ 'XMP-rdf:About' => "http://www.exiftool.ca/t/$testname.t#$testnum", Protected => 1 ], + [ 'XMP-rdf:About' => "http://www.exiftool.org/t/$testname.t#$testnum", Protected => 1 ], [ 'XMP:ImageType' => 'Video' ], [ 'LicenseeImageNotes-en' => 'english notes' ], [ 'LicenseeImageNotes-de' => 'deutsche anmerkungen' ], @@ -305,8 +305,8 @@ my $testnum = 1; [ 'CopyrightStatus' => 'public' ], [ 'Custom1-en' => 'a' ], [ 'Custom1-en' => 'b' ], - [ 'ATestTag' => "http://www.exiftool.ca/t/$testname.t#$testnum-one" ], - [ 'ATestTag' => "http://www.exiftool.ca/t/$testname.t#$testnum-two" ], + [ 'ATestTag' => "http://www.exiftool.org/t/$testname.t#$testnum-one" ], + [ 'ATestTag' => "http://www.exiftool.org/t/$testname.t#$testnum-two" ], ); $exifTool->SetNewValue(@$_) foreach @writeInfo; my $ok = writeInfo($exifTool, undef, $testfile); diff --git a/t/XMP_26.out b/t/XMP_26.out index e474ca86..be36406a 100644 --- a/t/XMP_26.out +++ b/t/XMP_26.out @@ -2,18 +2,18 @@ <x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='What's this?'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> - <rdf:Description rdf:about='http://www.exiftool.ca/t/XMP.t#26' - xmlns:et='http://ns.exiftool.ca/1.0/' et:toolkit='Image::ExifTool 9.92' - xmlns:myXMPns='http://ns.exiftool.ca/t/XMP.t'> + <rdf:Description rdf:about='http://www.exiftool.org/t/XMP.t#26' + xmlns:et='http://ns.exiftool.org/1.0/' et:toolkit='Image::ExifTool 12.26' + xmlns:myXMPns='http://ns.exiftool.org/t/XMP.t'> <myXMPns:ATestTag> <rdf:Bag> - <rdf:li rdf:resource='http://www.exiftool.ca/t/XMP.t#26-one'/> - <rdf:li rdf:resource='http://www.exiftool.ca/t/XMP.t#26-two'/> + <rdf:li rdf:resource='http://www.exiftool.org/t/XMP.t#26-one'/> + <rdf:li rdf:resource='http://www.exiftool.org/t/XMP.t#26-two'/> </rdf:Bag> </myXMPns:ATestTag> </rdf:Description> - <rdf:Description rdf:about='http://www.exiftool.ca/t/XMP.t#26' + <rdf:Description rdf:about='http://www.exiftool.org/t/XMP.t#26' xmlns:plus='http://ns.useplus.org/ldf/xmp/1.0/'> <plus:CopyrightStatus>http://ns.useplus.org/ldf/vocab/CS-PUB</plus:CopyrightStatus> <plus:Custom1> diff --git a/t/images/ExifTool.jps b/t/images/ExifTool.jps Binary files differnew file mode 100644 index 00000000..dea7cd4c --- /dev/null +++ b/t/images/ExifTool.jps diff --git a/t/images/XMP.xml b/t/images/XMP.xml index 9099ccc8..c8466051 100644 --- a/t/images/XMP.xml +++ b/t/images/XMP.xml @@ -2,16 +2,16 @@ <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <rdf:Description rdf:about='t/images/Nikon.jpg' - xmlns:et='http://ns.exiftool.ca/1.0/' et:toolkit='Image::ExifTool 7.62' - xmlns:ExifTool='http://ns.exiftool.ca/ExifTool/1.0/' - xmlns:File='http://ns.exiftool.ca/File/1.0/' - xmlns:IFD0='http://ns.exiftool.ca/EXIF/IFD0/1.0/' - xmlns:ExifIFD='http://ns.exiftool.ca/EXIF/ExifIFD/1.0/' - xmlns:Nikon='http://ns.exiftool.ca/MakerNotes/Nikon/1.0/' - xmlns:InteropIFD='http://ns.exiftool.ca/EXIF/InteropIFD/1.0/' - xmlns:IFD1='http://ns.exiftool.ca/EXIF/IFD1/1.0/' - xmlns:EXIF='http://ns.exiftool.ca/EXIF/EXIF/1.0/' - xmlns:Composite='http://ns.exiftool.ca/Composite/1.0/'> + xmlns:et='http://ns.exiftool.org/1.0/' et:toolkit='Image::ExifTool 7.62' + xmlns:ExifTool='http://ns.exiftool.org/ExifTool/1.0/' + xmlns:File='http://ns.exiftool.org/File/1.0/' + xmlns:IFD0='http://ns.exiftool.org/EXIF/IFD0/1.0/' + xmlns:ExifIFD='http://ns.exiftool.org/EXIF/ExifIFD/1.0/' + xmlns:Nikon='http://ns.exiftool.org/MakerNotes/Nikon/1.0/' + xmlns:InteropIFD='http://ns.exiftool.org/EXIF/InteropIFD/1.0/' + xmlns:IFD1='http://ns.exiftool.org/EXIF/IFD1/1.0/' + xmlns:EXIF='http://ns.exiftool.org/EXIF/EXIF/1.0/' + xmlns:Composite='http://ns.exiftool.org/Composite/1.0/'> <ExifTool:ExifToolVersion et:tagid=''>7.62</ExifTool:ExifToolVersion> <File:FileName et:tagid=''>Nikon.jpg</File:FileName> <File:Directory et:tagid=''>t/images</File:Directory> diff --git a/t/images/XMP5.xmp b/t/images/XMP5.xmp index 5c4e2d71..95667019 100644 --- a/t/images/XMP5.xmp +++ b/t/images/XMP5.xmp @@ -64,7 +64,7 @@ xmlns:Iptc4xmpExt='http://iptc.org/std/Iptc4xmpExt/2008-02-29/' xmlns:exif='http://ns.adobe.com/exif/1.0/' xmlns:mwg-rs='http://www.metadataworkinggroup.com/schemas/regions/' - xmlns:myXMPns='http://ns.exiftool.ca/t/XMP.t' + xmlns:myXMPns='http://ns.exiftool.org/t/XMP.t' xmlns:rdfs='http://www.w3.org/2000/01/rdf-schema#' xmlns:stArea='http://ns.adobe.com/xmp/sType/Area#' xmlns:xmpRights='http://ns.adobe.com/xap/1.0/rights/'> diff --git a/windows_exiftool b/windows_exiftool index 54e7bc8c..92d9c471 100755 --- a/windows_exiftool +++ b/windows_exiftool @@ -10,7 +10,7 @@ use strict; require 5.004; -my $version = '12.25'; +my $version = '12.26'; # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool' my $exeDir; @@ -2218,7 +2218,7 @@ sub GetImageInfo($$) my $f = $file; CleanXML(\$f); print $fp "\n<rdf:Description rdf:about='${f}'"; - print $fp "\n xmlns:et='http://ns.exiftool.ca/1.0/'"; + print $fp "\n xmlns:et='http://ns.exiftool.org/1.0/'"; print $fp " et:toolkit='Image::ExifTool $Image::ExifTool::VERSION'"; # define namespaces for all tag groups my (%groups, @groups, $grp0, $grp1); @@ -2240,7 +2240,7 @@ sub GetImageInfo($$) unless ($grp eq $grp1 and $grp =~ /^(ExifTool|File|Composite|Unknown)$/) { $grp .= "/$grp1"; } - print $fp "\n xmlns:$grp1='http://ns.exiftool.ca/$grp/1.0/'"; + print $fp "\n xmlns:$grp1='http://ns.exiftool.org/$grp/1.0/'"; } print $fp '>' if $outFormat < 1; # finish rdf:Description token unless short format $ind = $outFormat >= 0 ? ' ' : ' '; @@ -4263,7 +4263,10 @@ sub FilterArgfileLine($) # escaped by an odd number of backslashes, and escape a single backslash # if it occurs at the end of the string $arg =~ s{\\(.)|(["\$\@]|\\$)}{'\\'.($2 || $1)}sge; - $arg = eval qq{"$arg"}; # un-escape characters in C string + # un-escape characters in C string + my %esc = ( a => "\a", b => "\b", f => "\f", n => "\n", + r => "\r", t => "\t", '"' => '"', '\\' => '\\' ); + $arg =~ s/\\(.)/$esc{$1}||'\\'.$1/egs; } else { $arg =~ s/^\s+//; # remove leading white space $arg =~ s/[\x0d\x0a]+$//s; # remove trailing newline @@ -5417,7 +5420,7 @@ OPTIONS produces output like this: - -- Generated by ExifTool 12.25 -- + -- Generated by ExifTool 12.26 -- File: a.jpg - 2003:10:31 15:44:19 (f/5.6, 1/60s, ISO 100) File: b.jpg - 2006:05:23 11:57:38 |