exiftool_vendored 13.37.0 → 13.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/bin/Changes +41 -3
 - data/bin/MANIFEST +7 -0
 - data/bin/META.json +1 -1
 - data/bin/META.yml +1 -1
 - data/bin/README +49 -47
 - data/bin/config_files/local_time.config +55 -0
 - data/bin/exiftool +83 -70
 - data/bin/lib/Image/ExifTool/BMP.pm +1 -1
 - data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
 - data/bin/lib/Image/ExifTool/DJI.pm +256 -20
 - data/bin/lib/Image/ExifTool/DSF.pm +138 -0
 - data/bin/lib/Image/ExifTool/EXE.pm +3 -1
 - data/bin/lib/Image/ExifTool/Font.pm +386 -118
 - data/bin/lib/Image/ExifTool/Geolocation.pm +10 -7
 - data/bin/lib/Image/ExifTool/Geotag.pm +21 -2
 - data/bin/lib/Image/ExifTool/GoPro.pm +6 -3
 - data/bin/lib/Image/ExifTool/Google.pm +16 -6
 - data/bin/lib/Image/ExifTool/ID3.pm +11 -10
 - data/bin/lib/Image/ExifTool/LNK.pm +63 -2
 - data/bin/lib/Image/ExifTool/M2TS.pm +32 -23
 - data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
 - data/bin/lib/Image/ExifTool/OOXML.pm +3 -2
 - data/bin/lib/Image/ExifTool/Olympus.pm +3 -1
 - data/bin/lib/Image/ExifTool/Pentax.pm +7 -2
 - data/bin/lib/Image/ExifTool/QuickTime.pm +3 -3
 - data/bin/lib/Image/ExifTool/QuickTimeStream.pl +44 -35
 - data/bin/lib/Image/ExifTool/Sony.pm +19 -14
 - data/bin/lib/Image/ExifTool/TagLookup.pm +35 -1
 - data/bin/lib/Image/ExifTool/TagNames.pod +1383 -1217
 - data/bin/lib/Image/ExifTool/WavPack.pm +144 -0
 - data/bin/lib/Image/ExifTool/XMP.pm +12 -7
 - data/bin/lib/Image/ExifTool/XMP2.pl +11 -5
 - data/bin/lib/Image/ExifTool.pm +46 -26
 - data/bin/lib/Image/ExifTool.pod +64 -56
 - data/bin/perl-Image-ExifTool.spec +47 -46
 - data/lib/exiftool_vendored/version.rb +1 -1
 - metadata +4 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 9dfd10c8fad46a346537837a7eb4d95f6abf124bb6b3a9ca65479e447b6f4bac
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 9ac3a94f1fa80f10cab26c6c595499b32431e39e1fa31d33255a45454b2c1465
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 064efdbb744ee1a1e25c1df084286c86ecf791c85479e95d73c10b5aad589b2355068a19e1757ebc88bd26349af0550750b1c48cc0e945e833ac392583642559
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 6e5d5cec5577836228ab18975639d2b7e2d27cd1a161bae004ebdb472ec7f1e669155589e2e0fb83873bf7a1bc3c592df6196e98afb7cc872b676b70564c3fea
         
     | 
    
        data/bin/Changes
    CHANGED
    
    | 
         @@ -7,6 +7,44 @@ RSS feed: https://exiftool.org/rss.xml 
     | 
|
| 
       7 
7 
     | 
    
         
             
            Note: The most recent production release is Version 13.36. (Other versions are
         
     | 
| 
       8 
8 
     | 
    
         
             
            considered development releases, and are not uploaded to MetaCPAN.)
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
            Oct. 24, 2025 - Version 13.40
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
              - Added read support for WOFF and WOFF2 font files (github #358)
         
     | 
| 
      
 13 
     | 
    
         
            +
              - Added read support for Windows .URL files
         
     | 
| 
      
 14 
     | 
    
         
            +
              - Added new XMP-iptcExt generative AI tags (thanks IPTC)
         
     | 
| 
      
 15 
     | 
    
         
            +
              - Added config_files/local_time.config to the full distribution
         
     | 
| 
      
 16 
     | 
    
         
            +
              - Enhanced CSV import allow SourceFile entries with a different case
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            Oct. 15, 2025 - Version 13.39
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              - Added a few new Sony lens types and improved support for a few new cameras
         
     | 
| 
      
 21 
     | 
    
         
            +
                (thanks Jos Roost)
         
     | 
| 
      
 22 
     | 
    
         
            +
              - Added a new Olympus LensType (thanks Karsten Gieselmann)
         
     | 
| 
      
 23 
     | 
    
         
            +
              - Added some new Pentax PictureMode values (thanks Karsten Gieselmann)
         
     | 
| 
      
 24 
     | 
    
         
            +
              - Decode GPS from a number of new DJI protobuf formats (thanks Juan Irache,
         
     | 
| 
      
 25 
     | 
    
         
            +
                github #355)
         
     | 
| 
      
 26 
     | 
    
         
            +
              - Improved identification of M4A audio files (github #80)
         
     | 
| 
      
 27 
     | 
    
         
            +
              - Properly recognize VSDX files (github #357)
         
     | 
| 
      
 28 
     | 
    
         
            +
              - Patched to use date from the previous RMC sentence when missing an RMC
         
     | 
| 
      
 29 
     | 
    
         
            +
                sentence in timed GPS from the buggy NextBase 662GW
         
     | 
| 
      
 30 
     | 
    
         
            +
              - API Changes:
         
     | 
| 
      
 31 
     | 
    
         
            +
                  - Added GeoHPosErr option to set GPSHPositioningError when geotagging
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            Sept. 30, 2025 - Version 13.38
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
              - Added read support for DSF audio files (github #331)
         
     | 
| 
      
 36 
     | 
    
         
            +
              - Decode a couple more GoPro tags
         
     | 
| 
      
 37 
     | 
    
         
            +
              - Improved WavPack audio file support to recognize the WVP extension and
         
     | 
| 
      
 38 
     | 
    
         
            +
                extract more than just RIFF metadata
         
     | 
| 
      
 39 
     | 
    
         
            +
              - Updated Sony decoding for the ILCE-6400A (thanks Jos Roost)
         
     | 
| 
      
 40 
     | 
    
         
            +
              - Set family 0 group name to "Composite" for approximated GPSDateTime in timed
         
     | 
| 
      
 41 
     | 
    
         
            +
                video metadata
         
     | 
| 
      
 42 
     | 
    
         
            +
              - Patched to recognize M2TS videos which begin in the middle of a packet
         
     | 
| 
      
 43 
     | 
    
         
            +
              - Patched to attempt reading XMP which has an invalid encoding (github #348)
         
     | 
| 
      
 44 
     | 
    
         
            +
              - Patched to avoid possible runtime warning when reading a EXE file with
         
     | 
| 
      
 45 
     | 
    
         
            +
                corrupt resources (github #354)
         
     | 
| 
      
 46 
     | 
    
         
            +
              - Fixed typo in a GoPro tag name
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       10 
48 
     | 
    
         
             
            Sept. 22, 2025 - Version 13.37
         
     | 
| 
       11 
49 
     | 
    
         | 
| 
       12 
50 
     | 
    
         
             
              - Added support for geotagging from Columbus GPS logger CSV files
         
     | 
| 
         @@ -15,12 +53,12 @@ Sept. 22, 2025 - Version 13.37 
     | 
|
| 
       15 
53 
     | 
    
         
             
              - Added new Canon RFLensType and CanonModelID values (thanks Norbert Wasser
         
     | 
| 
       16 
54 
     | 
    
         
             
                and Hubert Figuiere, github #350)
         
     | 
| 
       17 
55 
     | 
    
         
             
              - Added a new FujiFilm FaceElementType value
         
     | 
| 
      
 56 
     | 
    
         
            +
              - Decode Google HDRP maker notes (both text and Protobuf formats)
         
     | 
| 
       18 
57 
     | 
    
         
             
              - Decode Reconyx MicroFire and Hyperfire 4K maker notes (thanks Reconyx)
         
     | 
| 
       19 
58 
     | 
    
         
             
              - Decode a number of new Canon and Pentax tags and add a number of new values
         
     | 
| 
       20 
59 
     | 
    
         
             
                (thanks Karsten Gieselmann)
         
     | 
| 
       21 
60 
     | 
    
         
             
              - Decode maker notes from Ricoh GR III videos
         
     | 
| 
       22 
61 
     | 
    
         
             
              - Decode a new Sony tag (thanks Jos Roost)
         
     | 
| 
       23 
     | 
    
         
            -
              - Decode Google HDRP maker notes
         
     | 
| 
       24 
62 
     | 
    
         
             
              - Raised size limit on QuickTime atoms extracted for the -ee option, and added
         
     | 
| 
       25 
63 
     | 
    
         
             
                a minor warning and allow bypassing with the -m option if over this limit
         
     | 
| 
       26 
64 
     | 
    
         
             
              - Minor change to verbose output for XMP metadata
         
     | 
| 
         @@ -28,7 +66,7 @@ Sept. 22, 2025 - Version 13.37 
     | 
|
| 
       28 
66 
     | 
    
         
             
              - Fixed incorrect FujiFilm PanoramaDirection values
         
     | 
| 
       29 
67 
     | 
    
         
             
              - API Changes:
         
     | 
| 
       30 
68 
     | 
    
         
             
                  - Fixed GeoDir option so alternate languages are loaded properly when a
         
     | 
| 
       31 
     | 
    
         
            -
                    relative path is  
     | 
| 
      
 69 
     | 
    
         
            +
                    relative path is specified
         
     | 
| 
       32 
70 
     | 
    
         | 
| 
       33 
71 
     | 
    
         
             
            Sept. 9, 2025 - Version 13.36 (production release)
         
     | 
| 
       34 
72 
     | 
    
         | 
| 
         @@ -3091,7 +3129,7 @@ Feb. 14, 2019 - Version 11.27 
     | 
|
| 
       3091 
3129 
     | 
    
         
             
            Jan. 21, 2019 - Version 11.26
         
     | 
| 
       3092 
3130 
     | 
    
         | 
| 
       3093 
3131 
     | 
    
         
             
              - Added a new Nikon LensID (thanks LibRaw)
         
     | 
| 
       3094 
     | 
    
         
            -
              - Decode more tags for the Sony  
     | 
| 
      
 3132 
     | 
    
         
            +
              - Decode more tags for the Sony ILCE-6400 (thanks Jos Roost and LibRaw)
         
     | 
| 
       3095 
3133 
     | 
    
         
             
              - Enhanced -htmldump feature to highlight IFD when mousing over IFD offset
         
     | 
| 
       3096 
3134 
     | 
    
         | 
| 
       3097 
3135 
     | 
    
         
             
            Jan. 15, 2019 - Version 11.25
         
     | 
    
        data/bin/MANIFEST
    CHANGED
    
    | 
         @@ -27,6 +27,7 @@ config_files/fotoware.config 
     | 
|
| 
       27 
27 
     | 
    
         
             
            config_files/frameCount.config
         
     | 
| 
       28 
28 
     | 
    
         
             
            config_files/gps2utm.config
         
     | 
| 
       29 
29 
     | 
    
         
             
            config_files/guano.config
         
     | 
| 
      
 30 
     | 
    
         
            +
            config_files/local_time.config
         
     | 
| 
       30 
31 
     | 
    
         
             
            config_files/nksc.config
         
     | 
| 
       31 
32 
     | 
    
         
             
            config_files/onone.config
         
     | 
| 
       32 
33 
     | 
    
         
             
            config_files/photoshop_paths.config
         
     | 
| 
         @@ -65,6 +66,7 @@ html/TagNames/DICOM.html 
     | 
|
| 
       65 
66 
     | 
    
         
             
            html/TagNames/DJI.html
         
     | 
| 
       66 
67 
     | 
    
         
             
            html/TagNames/DNG.html
         
     | 
| 
       67 
68 
     | 
    
         
             
            html/TagNames/DPX.html
         
     | 
| 
      
 69 
     | 
    
         
            +
            html/TagNames/DSF.html
         
     | 
| 
       68 
70 
     | 
    
         
             
            html/TagNames/DV.html
         
     | 
| 
       69 
71 
     | 
    
         
             
            html/TagNames/DarwinCore.html
         
     | 
| 
       70 
72 
     | 
    
         
             
            html/TagNames/DjVu.html
         
     | 
| 
         @@ -188,6 +190,7 @@ html/TagNames/VCard.html 
     | 
|
| 
       188 
190 
     | 
    
         
             
            html/TagNames/Vorbis.html
         
     | 
| 
       189 
191 
     | 
    
         
             
            html/TagNames/WPG.html
         
     | 
| 
       190 
192 
     | 
    
         
             
            html/TagNames/WTV.html
         
     | 
| 
      
 193 
     | 
    
         
            +
            html/TagNames/WavPack.html
         
     | 
| 
       191 
194 
     | 
    
         
             
            html/TagNames/XISF.html
         
     | 
| 
       192 
195 
     | 
    
         
             
            html/TagNames/XMP.html
         
     | 
| 
       193 
196 
     | 
    
         
             
            html/TagNames/ZIP.html
         
     | 
| 
         @@ -291,6 +294,7 @@ lib/Image/ExifTool/DICOM.pm 
     | 
|
| 
       291 
294 
     | 
    
         
             
            lib/Image/ExifTool/DJI.pm
         
     | 
| 
       292 
295 
     | 
    
         
             
            lib/Image/ExifTool/DNG.pm
         
     | 
| 
       293 
296 
     | 
    
         
             
            lib/Image/ExifTool/DPX.pm
         
     | 
| 
      
 297 
     | 
    
         
            +
            lib/Image/ExifTool/DSF.pm
         
     | 
| 
       294 
298 
     | 
    
         
             
            lib/Image/ExifTool/DV.pm
         
     | 
| 
       295 
299 
     | 
    
         
             
            lib/Image/ExifTool/DarwinCore.pm
         
     | 
| 
       296 
300 
     | 
    
         
             
            lib/Image/ExifTool/DjVu.pm
         
     | 
| 
         @@ -451,6 +455,7 @@ lib/Image/ExifTool/Validate.pm 
     | 
|
| 
       451 
455 
     | 
    
         
             
            lib/Image/ExifTool/Vorbis.pm
         
     | 
| 
       452 
456 
     | 
    
         
             
            lib/Image/ExifTool/WPG.pm
         
     | 
| 
       453 
457 
     | 
    
         
             
            lib/Image/ExifTool/WTV.pm
         
     | 
| 
      
 458 
     | 
    
         
            +
            lib/Image/ExifTool/WavPack.pm
         
     | 
| 
       454 
459 
     | 
    
         
             
            lib/Image/ExifTool/WriteCanonRaw.pl
         
     | 
| 
       455 
460 
     | 
    
         
             
            lib/Image/ExifTool/WriteExif.pl
         
     | 
| 
       456 
461 
     | 
    
         
             
            lib/Image/ExifTool/WriteIPTC.pl
         
     | 
| 
         @@ -691,6 +696,7 @@ t/KyoceraRaw.t 
     | 
|
| 
       691 
696 
     | 
    
         
             
            t/KyoceraRaw_2.out
         
     | 
| 
       692 
697 
     | 
    
         
             
            t/LNK.t
         
     | 
| 
       693 
698 
     | 
    
         
             
            t/LNK_2.out
         
     | 
| 
      
 699 
     | 
    
         
            +
            t/LNK_3.out
         
     | 
| 
       694 
700 
     | 
    
         
             
            t/Lang.t
         
     | 
| 
       695 
701 
     | 
    
         
             
            t/Lang_1.out
         
     | 
| 
       696 
702 
     | 
    
         
             
            t/Lang_10.out
         
     | 
| 
         @@ -1118,6 +1124,7 @@ t/images/Jpeg2000.jp2 
     | 
|
| 
       1118 
1124 
     | 
    
         
             
            t/images/Kodak.jpg
         
     | 
| 
       1119 
1125 
     | 
    
         
             
            t/images/KyoceraRaw.raw
         
     | 
| 
       1120 
1126 
     | 
    
         
             
            t/images/LNK.lnk
         
     | 
| 
      
 1127 
     | 
    
         
            +
            t/images/LNK.url
         
     | 
| 
       1121 
1128 
     | 
    
         
             
            t/images/Lytro.lfp
         
     | 
| 
       1122 
1129 
     | 
    
         
             
            t/images/M2TS.mts
         
     | 
| 
       1123 
1130 
     | 
    
         
             
            t/images/MIE.mie
         
     | 
    
        data/bin/META.json
    CHANGED
    
    
    
        data/bin/META.yml
    CHANGED
    
    
    
        data/bin/README
    CHANGED
    
    | 
         @@ -14,51 +14,52 @@ supported by ExifTool (r = read, w = write, c = create): 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              File Types
         
     | 
| 
       16 
16 
     | 
    
         
             
              ------------+-------------+-------------+-------------+------------
         
     | 
| 
       17 
     | 
    
         
            -
              360   r/w   |  
     | 
| 
       18 
     | 
    
         
            -
              3FR   r     |  
     | 
| 
       19 
     | 
    
         
            -
              3G2   r/w   | DSS   r     |  
     | 
| 
       20 
     | 
    
         
            -
              3GP   r/w   | DV    r     |  
     | 
| 
       21 
     | 
    
         
            -
              7Z    r     | DVB   r/w   |  
     | 
| 
       22 
     | 
    
         
            -
              A     r     | DVR-MS r    |  
     | 
| 
       23 
     | 
    
         
            -
              AA    r     | DYLIB r     |  
     | 
| 
       24 
     | 
    
         
            -
              AAC   r     | EIP   r     |  
     | 
| 
       25 
     | 
    
         
            -
              AAE   r     | EPS   r/w   |  
     | 
| 
       26 
     | 
    
         
            -
              AAX   r/w   | EPUB  r     |  
     | 
| 
       27 
     | 
    
         
            -
              ACR   r     | ERF   r/w   |  
     | 
| 
       28 
     | 
    
         
            -
              AFM   r     | EXE   r     |  
     | 
| 
       29 
     | 
    
         
            -
              AI    r/w   | EXIF  r/w/c |  
     | 
| 
       30 
     | 
    
         
            -
              AIFF  r     | EXR   r     |  
     | 
| 
       31 
     | 
    
         
            -
              APE   r     | EXV   r/w/c |  
     | 
| 
       32 
     | 
    
         
            -
              ARQ   r/w   | F4A/V r/w   |  
     | 
| 
       33 
     | 
    
         
            -
              ARW   r/w   | FFF   r/w   |  
     | 
| 
       34 
     | 
    
         
            -
              ASF   r     | FITS  r     |  
     | 
| 
       35 
     | 
    
         
            -
              AVI   r     | FLA   r     |  
     | 
| 
       36 
     | 
    
         
            -
              AVIF  r/w   | FLAC  r     |  
     | 
| 
       37 
     | 
    
         
            -
              AZW   r     | FLIF  r/w   |  
     | 
| 
       38 
     | 
    
         
            -
              BMP   r     | FLV   r     |  
     | 
| 
       39 
     | 
    
         
            -
              BPG   r     | FPF   r     |  
     | 
| 
       40 
     | 
    
         
            -
              BTF   r     | FPX   r     |  
     | 
| 
       41 
     | 
    
         
            -
              C2PA  r     | GIF   r/w   |  
     | 
| 
       42 
     | 
    
         
            -
              CHM   r     | GLV   r/w   |  
     | 
| 
       43 
     | 
    
         
            -
              COS   r     | GPR   r/w   |  
     | 
| 
       44 
     | 
    
         
            -
              CR2   r/w   | GZ    r     |  
     | 
| 
       45 
     | 
    
         
            -
              CR3   r/w   | HDP   r/w   |  
     | 
| 
       46 
     | 
    
         
            -
              CRM   r/w   | HDR   r     |  
     | 
| 
       47 
     | 
    
         
            -
              CRW   r/w   | HEIC  r/w   |  
     | 
| 
       48 
     | 
    
         
            -
              CS1   r/w   | HEIF  r/w   |  
     | 
| 
       49 
     | 
    
         
            -
              CSV   r     | HTML  r     |  
     | 
| 
       50 
     | 
    
         
            -
              CUR   r     | ICC   r/w/c |  
     | 
| 
       51 
     | 
    
         
            -
              CZI   r     | ICO   r     |  
     | 
| 
       52 
     | 
    
         
            -
              DCM   r     | ICS   r     |  
     | 
| 
       53 
     | 
    
         
            -
              DCP   r/w   | IDML  r     |  
     | 
| 
       54 
     | 
    
         
            -
              DCR   r     | IIQ   r/w   |  
     | 
| 
       55 
     | 
    
         
            -
              DFONT r     | IND   r/w   |  
     | 
| 
       56 
     | 
    
         
            -
              DIVX  r     | INSP  r/w   |  
     | 
| 
       57 
     | 
    
         
            -
              DJVU  r     | INSV  r     |  
     | 
| 
       58 
     | 
    
         
            -
              DLL   r     | INX   r     |  
     | 
| 
       59 
     | 
    
         
            -
              DNG   r/w   | ISO   r     |  
     | 
| 
       60 
     | 
    
         
            -
              DOC   r     | ITC   r     |  
     | 
| 
       61 
     | 
    
         
            -
              DOCX  r     | J2C   r     |  
     | 
| 
      
 17 
     | 
    
         
            +
              360   r/w   | DR4   r/w/c | JP2   r/w   | ODT   r     | RWL   r/w
         
     | 
| 
      
 18 
     | 
    
         
            +
              3FR   r     | DSF   r     | JPEG  r/w   | OFR   r     | RWZ   r
         
     | 
| 
      
 19 
     | 
    
         
            +
              3G2   r/w   | DSS   r     | JSON  r     | OGG   r     | RM    r
         
     | 
| 
      
 20 
     | 
    
         
            +
              3GP   r/w   | DV    r     | JXL   r/w   | OGV   r     | SEQ   r
         
     | 
| 
      
 21 
     | 
    
         
            +
              7Z    r     | DVB   r/w   | K25   r     | ONP   r     | SKETCH r
         
     | 
| 
      
 22 
     | 
    
         
            +
              A     r     | DVR-MS r    | KDC   r     | OPUS  r     | SO    r
         
     | 
| 
      
 23 
     | 
    
         
            +
              AA    r     | DYLIB r     | KEY   r     | ORF   r/w   | SR2   r/w
         
     | 
| 
      
 24 
     | 
    
         
            +
              AAC   r     | EIP   r     | LA    r     | ORI   r/w   | SRF   r
         
     | 
| 
      
 25 
     | 
    
         
            +
              AAE   r     | EPS   r/w   | LFP   r     | OTF   r     | SRW   r/w
         
     | 
| 
      
 26 
     | 
    
         
            +
              AAX   r/w   | EPUB  r     | LIF   r     | PAC   r     | SVG   r
         
     | 
| 
      
 27 
     | 
    
         
            +
              ACR   r     | ERF   r/w   | LNK   r     | PAGES r     | SWF   r
         
     | 
| 
      
 28 
     | 
    
         
            +
              AFM   r     | EXE   r     | LRV   r/w   | PBM   r/w   | THM   r/w
         
     | 
| 
      
 29 
     | 
    
         
            +
              AI    r/w   | EXIF  r/w/c | M2TS  r     | PCAP  r     | TIFF  r/w
         
     | 
| 
      
 30 
     | 
    
         
            +
              AIFF  r     | EXR   r     | M4A/V r/w   | PCAPNG r    | TNEF  r
         
     | 
| 
      
 31 
     | 
    
         
            +
              APE   r     | EXV   r/w/c | MACOS r     | PCD   r     | TORRENT r
         
     | 
| 
      
 32 
     | 
    
         
            +
              ARQ   r/w   | F4A/V r/w   | MAX   r     | PCX   r     | TTC   r
         
     | 
| 
      
 33 
     | 
    
         
            +
              ARW   r/w   | FFF   r/w   | MEF   r/w   | PDB   r     | TTF   r
         
     | 
| 
      
 34 
     | 
    
         
            +
              ASF   r     | FITS  r     | MIE   r/w/c | PDF   r/w   | TXT   r
         
     | 
| 
      
 35 
     | 
    
         
            +
              AVI   r     | FLA   r     | MIFF  r     | PEF   r/w   | URL   r
         
     | 
| 
      
 36 
     | 
    
         
            +
              AVIF  r/w   | FLAC  r     | MKA   r     | PFA   r     | VCF   r
         
     | 
| 
      
 37 
     | 
    
         
            +
              AZW   r     | FLIF  r/w   | MKS   r     | PFB   r     | VNT   r
         
     | 
| 
      
 38 
     | 
    
         
            +
              BMP   r     | FLV   r     | MKV   r     | PFM   r     | VRD   r/w/c
         
     | 
| 
      
 39 
     | 
    
         
            +
              BPG   r     | FPF   r     | MNG   r/w   | PGF   r     | VSD   r
         
     | 
| 
      
 40 
     | 
    
         
            +
              BTF   r     | FPX   r     | MOBI  r     | PGM   r/w   | VSDX  r
         
     | 
| 
      
 41 
     | 
    
         
            +
              C2PA  r     | GIF   r/w   | MODD  r     | PLIST r     | WAV   r
         
     | 
| 
      
 42 
     | 
    
         
            +
              CHM   r     | GLV   r/w   | MOI   r     | PICT  r     | WDP   r/w
         
     | 
| 
      
 43 
     | 
    
         
            +
              COS   r     | GPR   r/w   | MOS   r/w   | PMP   r     | WEBP  r/w
         
     | 
| 
      
 44 
     | 
    
         
            +
              CR2   r/w   | GZ    r     | MOV   r/w   | PNG   r/w   | WEBM  r
         
     | 
| 
      
 45 
     | 
    
         
            +
              CR3   r/w   | HDP   r/w   | MP3   r     | PPM   r/w   | WMA   r
         
     | 
| 
      
 46 
     | 
    
         
            +
              CRM   r/w   | HDR   r     | MP4   r/w   | PPT   r     | WMV   r
         
     | 
| 
      
 47 
     | 
    
         
            +
              CRW   r/w   | HEIC  r/w   | MPC   r     | PPTX  r     | WOFF  r
         
     | 
| 
      
 48 
     | 
    
         
            +
              CS1   r/w   | HEIF  r/w   | MPG   r     | PS    r/w   | WOFF2 r
         
     | 
| 
      
 49 
     | 
    
         
            +
              CSV   r     | HTML  r     | MPO   r/w   | PSB   r/w   | WPG   r
         
     | 
| 
      
 50 
     | 
    
         
            +
              CUR   r     | ICC   r/w/c | MQV   r/w   | PSD   r/w   | WTV   r
         
     | 
| 
      
 51 
     | 
    
         
            +
              CZI   r     | ICO   r     | MRC   r     | PSP   r     | WV    r
         
     | 
| 
      
 52 
     | 
    
         
            +
              DCM   r     | ICS   r     | MRW   r/w   | QTIF  r/w   | X3F   r/w
         
     | 
| 
      
 53 
     | 
    
         
            +
              DCP   r/w   | IDML  r     | MXF   r     | R3D   r     | XCF   r
         
     | 
| 
      
 54 
     | 
    
         
            +
              DCR   r     | IIQ   r/w   | NEF   r/w   | RA    r     | XISF  r
         
     | 
| 
      
 55 
     | 
    
         
            +
              DFONT r     | IND   r/w   | NKA   r     | RAF   r/w   | XLS   r
         
     | 
| 
      
 56 
     | 
    
         
            +
              DIVX  r     | INSP  r/w   | NKSC  r/w   | RAM   r     | XLSX  r
         
     | 
| 
      
 57 
     | 
    
         
            +
              DJVU  r     | INSV  r     | NRW   r/w   | RAR   r     | XMP   r/w/c
         
     | 
| 
      
 58 
     | 
    
         
            +
              DLL   r     | INX   r     | NUMBERS r   | RAW   r/w   | ZIP   r
         
     | 
| 
      
 59 
     | 
    
         
            +
              DNG   r/w   | ISO   r     | NXD   r     | RIFF  r     |
         
     | 
| 
      
 60 
     | 
    
         
            +
              DOC   r     | ITC   r     | O     r     | RSRC  r     |
         
     | 
| 
      
 61 
     | 
    
         
            +
              DOCX  r     | J2C   r     | ODP   r     | RTF   r     |
         
     | 
| 
      
 62 
     | 
    
         
            +
              DPX   r     | JNG   r/w   | ODS   r     | RW2   r/w   |
         
     | 
| 
       62 
63 
     | 
    
         | 
| 
       63 
64 
     | 
    
         
             
              Meta Information
         
     | 
| 
       64 
65 
     | 
    
         
             
              ----------------------+----------------------+---------------------
         
     | 
| 
         @@ -110,8 +111,8 @@ your home directory, then you would type the following commands in a 
     | 
|
| 
       110 
111 
     | 
    
         
             
            terminal window to extract and run ExifTool:
         
     | 
| 
       111 
112 
     | 
    
         | 
| 
       112 
113 
     | 
    
         
             
              cd ~/Desktop
         
     | 
| 
       113 
     | 
    
         
            -
              gzip -dc Image-ExifTool-13. 
     | 
| 
       114 
     | 
    
         
            -
              cd Image-ExifTool-13. 
     | 
| 
      
 114 
     | 
    
         
            +
              gzip -dc Image-ExifTool-13.40.tar.gz | tar -xf -
         
     | 
| 
      
 115 
     | 
    
         
            +
              cd Image-ExifTool-13.40
         
     | 
| 
       115 
116 
     | 
    
         
             
              ./exiftool t/images/ExifTool.jpg
         
     | 
| 
       116 
117 
     | 
    
         | 
| 
       117 
118 
     | 
    
         
             
            Note:  These commands extract meta information from one of the test images. 
         
     | 
| 
         @@ -209,6 +210,7 @@ distribution package: 
     | 
|
| 
       209 
210 
     | 
    
         
             
                frameCount.config         - Extract FrameCount from MP4 videos
         
     | 
| 
       210 
211 
     | 
    
         
             
                gps2utm.config            - Generate UTM coordinate tags from GPS info
         
     | 
| 
       211 
212 
     | 
    
         
             
                guano.config              - Decode individual tags from Guano metadata
         
     | 
| 
      
 213 
     | 
    
         
            +
                local_time.config         - Determine local time from GPS information
         
     | 
| 
       212 
214 
     | 
    
         
             
                nksc.config               - Decode tags in Nikon ViewNX NKSC files
         
     | 
| 
       213 
215 
     | 
    
         
             
                onone.config              - Definitions for writing On1 XMP tags
         
     | 
| 
       214 
216 
     | 
    
         
             
                photoshop_paths.config    - For extracting or copying Photoshop paths
         
     | 
| 
         @@ -0,0 +1,55 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #------------------------------------------------------------------------------
         
     | 
| 
      
 2 
     | 
    
         
            +
            # File:         local_time.config
         
     | 
| 
      
 3 
     | 
    
         
            +
            #
         
     | 
| 
      
 4 
     | 
    
         
            +
            # Description:  Determine local time based on GPS location and GPSDateTime
         
     | 
| 
      
 5 
     | 
    
         
            +
            #
         
     | 
| 
      
 6 
     | 
    
         
            +
            # Notes:        1. Requires that the API TimeZone option functions properly
         
     | 
| 
      
 7 
     | 
    
         
            +
            #                  using an IANA time zone name (like "America/New_York"), so
         
     | 
| 
      
 8 
     | 
    
         
            +
            #                  this may not work on Windows systems.
         
     | 
| 
      
 9 
     | 
    
         
            +
            #
         
     | 
| 
      
 10 
     | 
    
         
            +
            #               2. Time is based on GPSDateTime preferentially, otherwise
         
     | 
| 
      
 11 
     | 
    
         
            +
            #                  DateTimeOriginal then CreateDate assuming the system time
         
     | 
| 
      
 12 
     | 
    
         
            +
            #                  zone unless the corresponding OffsetTime tag exists.
         
     | 
| 
      
 13 
     | 
    
         
            +
            #
         
     | 
| 
      
 14 
     | 
    
         
            +
            # Usage:        exiftool -config local_time.config -localtime FILE
         
     | 
| 
      
 15 
     | 
    
         
            +
            #
         
     | 
| 
      
 16 
     | 
    
         
            +
            # Requires:     ExifTool version 12.78 or later
         
     | 
| 
      
 17 
     | 
    
         
            +
            #
         
     | 
| 
      
 18 
     | 
    
         
            +
            # Revisions:    2025-10-19 - P. Harvey Created
         
     | 
| 
      
 19 
     | 
    
         
            +
            #------------------------------------------------------------------------------
         
     | 
| 
      
 20 
     | 
    
         
            +
             
     | 
| 
      
 21 
     | 
    
         
            +
            %Image::ExifTool::UserDefined = (
         
     | 
| 
      
 22 
     | 
    
         
            +
                'Image::ExifTool::Composite' => {
         
     | 
| 
      
 23 
     | 
    
         
            +
                    LocalTime => {
         
     | 
| 
      
 24 
     | 
    
         
            +
                        Groups => { 2 => 'Time' },
         
     | 
| 
      
 25 
     | 
    
         
            +
                        Require => {
         
     | 
| 
      
 26 
     | 
    
         
            +
                            0 => 'GPSLatitude',
         
     | 
| 
      
 27 
     | 
    
         
            +
                            1 => 'GPSLongitude',
         
     | 
| 
      
 28 
     | 
    
         
            +
                        },
         
     | 
| 
      
 29 
     | 
    
         
            +
                        Desire => {
         
     | 
| 
      
 30 
     | 
    
         
            +
                            2 => 'GPSDateTime',
         
     | 
| 
      
 31 
     | 
    
         
            +
                            3 => 'SubSecDateTimeOriginal',
         
     | 
| 
      
 32 
     | 
    
         
            +
                            4 => 'SubSecCreateDate',
         
     | 
| 
      
 33 
     | 
    
         
            +
                            5 => 'DateTimeOriginal',
         
     | 
| 
      
 34 
     | 
    
         
            +
                            6 => 'CreateDate',
         
     | 
| 
      
 35 
     | 
    
         
            +
                        },
         
     | 
| 
      
 36 
     | 
    
         
            +
                        ValueConv => q{
         
     | 
| 
      
 37 
     | 
    
         
            +
                            require Image::ExifTool::Geolocation;
         
     | 
| 
      
 38 
     | 
    
         
            +
                            my ($loc) = Image::ExifTool::Geolocation::Geolocate("$val[0],$val[1]");
         
     | 
| 
      
 39 
     | 
    
         
            +
                            return undef unless $loc;
         
     | 
| 
      
 40 
     | 
    
         
            +
                            my $time = $val[2] || $val[3] || $val[4] || $val[5] || $val[6];
         
     | 
| 
      
 41 
     | 
    
         
            +
                            return undef unless $time;
         
     | 
| 
      
 42 
     | 
    
         
            +
                            my $secs = Image::ExifTool::GetUnixTime($time, 1);
         
     | 
| 
      
 43 
     | 
    
         
            +
                            return undef unless $secs;
         
     | 
| 
      
 44 
     | 
    
         
            +
                            my @info = Image::ExifTool::Geolocation::GetEntry($$loc[0]);
         
     | 
| 
      
 45 
     | 
    
         
            +
                            $self->Options(TimeZone => $info[5]);
         
     | 
| 
      
 46 
     | 
    
         
            +
                            my $localTime = Image::ExifTool::ConvertUnixTime($secs, 1);
         
     | 
| 
      
 47 
     | 
    
         
            +
                            $self->Options(TimeZone => undef);
         
     | 
| 
      
 48 
     | 
    
         
            +
                            return $localTime;
         
     | 
| 
      
 49 
     | 
    
         
            +
                        },
         
     | 
| 
      
 50 
     | 
    
         
            +
                    },
         
     | 
| 
      
 51 
     | 
    
         
            +
                },
         
     | 
| 
      
 52 
     | 
    
         
            +
            );
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            1; #end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
    
        data/bin/exiftool
    CHANGED
    
    | 
         @@ -11,7 +11,7 @@ use strict; 
     | 
|
| 
       11 
11 
     | 
    
         
             
            use warnings;
         
     | 
| 
       12 
12 
     | 
    
         
             
            require 5.004;
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
            my $version = '13. 
     | 
| 
      
 14 
     | 
    
         
            +
            my $version = '13.40';
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
       16 
16 
     | 
    
         
             
            $^W = 1;    # enable global warnings
         
     | 
| 
       17 
17 
     | 
    
         | 
| 
         @@ -1935,7 +1935,7 @@ if (@fileOrder) { 
     | 
|
| 
       1935 
1935 
     | 
    
         
             
            # set file count for progress message
         
     | 
| 
       1936 
1936 
     | 
    
         
             
            $progressMax = scalar @files if defined $progress;
         
     | 
| 
       1937 
1937 
     | 
    
         | 
| 
       1938 
     | 
    
         
            -
            # store duplicate database information under absolute path
         
     | 
| 
      
 1938 
     | 
    
         
            +
            # store duplicate database information under absolute path and with standardized case
         
     | 
| 
       1939 
1939 
     | 
    
         
             
            my @dbKeys = keys %database;
         
     | 
| 
       1940 
1940 
     | 
    
         
             
            if (@dbKeys) {
         
     | 
| 
       1941 
1941 
     | 
    
         
             
                if (eval { require Cwd }) {
         
     | 
| 
         @@ -1944,6 +1944,7 @@ if (@dbKeys) { 
     | 
|
| 
       1944 
1944 
     | 
    
         
             
                    foreach (@dbKeys) {
         
     | 
| 
       1945 
1945 
     | 
    
         
             
                        my $db = $database{$_};
         
     | 
| 
       1946 
1946 
     | 
    
         
             
                        tr/\\/\// and $database{$_} = $db;  # allow for backslashes in SourceFile
         
     | 
| 
      
 1947 
     | 
    
         
            +
                        $database{lc} = $db unless $database{lc};   # duplicate entry with lower case
         
     | 
| 
       1947 
1948 
     | 
    
         
             
                        # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
         
     | 
| 
       1948 
1949 
     | 
    
         
             
                        my $absPath = AbsPath($_);
         
     | 
| 
       1949 
1950 
     | 
    
         
             
                        if (defined $absPath) {
         
     | 
| 
         @@ -1951,6 +1952,7 @@ if (@dbKeys) { 
     | 
|
| 
       1951 
1952 
     | 
    
         
             
                            if ($verbose and $verbose > 1) {
         
     | 
| 
       1952 
1953 
     | 
    
         
             
                                print $vout "Imported entry for '${_}' (full path: '${absPath}')\n";
         
     | 
| 
       1953 
1954 
     | 
    
         
             
                            }
         
     | 
| 
      
 1955 
     | 
    
         
            +
                            $database{lc $absPath} = $db unless $database{lc $absPath};
         
     | 
| 
       1954 
1956 
     | 
    
         
             
                        } elsif ($verbose and $verbose > 1) {
         
     | 
| 
       1955 
1957 
     | 
    
         
             
                            print $vout "Imported entry for '${_}' (no full path)\n";
         
     | 
| 
       1956 
1958 
     | 
    
         
             
                        }
         
     | 
| 
         @@ -3259,10 +3261,18 @@ sub SetImageInfo($$$) 
     | 
|
| 
       3259 
3261 
     | 
    
         
             
                                my $csvInfo = $database{$f};
         
     | 
| 
       3260 
3262 
     | 
    
         
             
                                unless ($csvInfo) {
         
     | 
| 
       3261 
3263 
     | 
    
         
             
                                    next if $f eq '*';
         
     | 
| 
       3262 
     | 
    
         
            -
                                    # check absolute path
         
     | 
| 
      
 3264 
     | 
    
         
            +
                                    # check absolute path and case-insensitive name
         
     | 
| 
       3263 
3265 
     | 
    
         
             
                                    # (punt on using ConvertFileName here, so $absPath may be a mix of encodings)
         
     | 
| 
       3264 
3266 
     | 
    
         
             
                                    my $absPath = AbsPath($f);
         
     | 
| 
       3265 
     | 
    
         
            -
                                     
     | 
| 
      
 3267 
     | 
    
         
            +
                                    if (defined $absPath and $database{$absPath}) {
         
     | 
| 
      
 3268 
     | 
    
         
            +
                                        $csvInfo = $database{$absPath};
         
     | 
| 
      
 3269 
     | 
    
         
            +
                                    } elsif ($database{lc $f}) {
         
     | 
| 
      
 3270 
     | 
    
         
            +
                                        $csvInfo = $database{lc $f};
         
     | 
| 
      
 3271 
     | 
    
         
            +
                                    } elsif (defined $absPath and $database{lc $absPath}) {
         
     | 
| 
      
 3272 
     | 
    
         
            +
                                        $csvInfo = $database{lc $absPath};
         
     | 
| 
      
 3273 
     | 
    
         
            +
                                    } else {
         
     | 
| 
      
 3274 
     | 
    
         
            +
                                        next;
         
     | 
| 
      
 3275 
     | 
    
         
            +
                                    }
         
     | 
| 
       3266 
3276 
     | 
    
         
             
                                }
         
     | 
| 
       3267 
3277 
     | 
    
         
             
                                $found = 1;
         
     | 
| 
       3268 
3278 
     | 
    
         
             
                                if ($verbose) {
         
     | 
| 
         @@ -5079,51 +5089,52 @@ supported by ExifTool (r = read, w = write, c = create): 
     | 
|
| 
       5079 
5089 
     | 
    
         | 
| 
       5080 
5090 
     | 
    
         
             
              File Types
         
     | 
| 
       5081 
5091 
     | 
    
         
             
              ------------+-------------+-------------+-------------+------------
         
     | 
| 
       5082 
     | 
    
         
            -
              360   r/w   |  
     | 
| 
       5083 
     | 
    
         
            -
              3FR   r     |  
     | 
| 
       5084 
     | 
    
         
            -
              3G2   r/w   | DSS   r     |  
     | 
| 
       5085 
     | 
    
         
            -
              3GP   r/w   | DV    r     |  
     | 
| 
       5086 
     | 
    
         
            -
              7Z    r     | DVB   r/w   |  
     | 
| 
       5087 
     | 
    
         
            -
              A     r     | DVR-MS r    |  
     | 
| 
       5088 
     | 
    
         
            -
              AA    r     | DYLIB r     |  
     | 
| 
       5089 
     | 
    
         
            -
              AAC   r     | EIP   r     |  
     | 
| 
       5090 
     | 
    
         
            -
              AAE   r     | EPS   r/w   |  
     | 
| 
       5091 
     | 
    
         
            -
              AAX   r/w   | EPUB  r     |  
     | 
| 
       5092 
     | 
    
         
            -
              ACR   r     | ERF   r/w   |  
     | 
| 
       5093 
     | 
    
         
            -
              AFM   r     | EXE   r     |  
     | 
| 
       5094 
     | 
    
         
            -
              AI    r/w   | EXIF  r/w/c |  
     | 
| 
       5095 
     | 
    
         
            -
              AIFF  r     | EXR   r     |  
     | 
| 
       5096 
     | 
    
         
            -
              APE   r     | EXV   r/w/c |  
     | 
| 
       5097 
     | 
    
         
            -
              ARQ   r/w   | F4A/V r/w   |  
     | 
| 
       5098 
     | 
    
         
            -
              ARW   r/w   | FFF   r/w   |  
     | 
| 
       5099 
     | 
    
         
            -
              ASF   r     | FITS  r     |  
     | 
| 
       5100 
     | 
    
         
            -
              AVI   r     | FLA   r     |  
     | 
| 
       5101 
     | 
    
         
            -
              AVIF  r/w   | FLAC  r     |  
     | 
| 
       5102 
     | 
    
         
            -
              AZW   r     | FLIF  r/w   |  
     | 
| 
       5103 
     | 
    
         
            -
              BMP   r     | FLV   r     |  
     | 
| 
       5104 
     | 
    
         
            -
              BPG   r     | FPF   r     |  
     | 
| 
       5105 
     | 
    
         
            -
              BTF   r     | FPX   r     |  
     | 
| 
       5106 
     | 
    
         
            -
              C2PA  r     | GIF   r/w   |  
     | 
| 
       5107 
     | 
    
         
            -
              CHM   r     | GLV   r/w   |  
     | 
| 
       5108 
     | 
    
         
            -
              COS   r     | GPR   r/w   |  
     | 
| 
       5109 
     | 
    
         
            -
              CR2   r/w   | GZ    r     |  
     | 
| 
       5110 
     | 
    
         
            -
              CR3   r/w   | HDP   r/w   |  
     | 
| 
       5111 
     | 
    
         
            -
              CRM   r/w   | HDR   r     |  
     | 
| 
       5112 
     | 
    
         
            -
              CRW   r/w   | HEIC  r/w   |  
     | 
| 
       5113 
     | 
    
         
            -
              CS1   r/w   | HEIF  r/w   |  
     | 
| 
       5114 
     | 
    
         
            -
              CSV   r     | HTML  r     |  
     | 
| 
       5115 
     | 
    
         
            -
              CUR   r     | ICC   r/w/c |  
     | 
| 
       5116 
     | 
    
         
            -
              CZI   r     | ICO   r     |  
     | 
| 
       5117 
     | 
    
         
            -
              DCM   r     | ICS   r     |  
     | 
| 
       5118 
     | 
    
         
            -
              DCP   r/w   | IDML  r     |  
     | 
| 
       5119 
     | 
    
         
            -
              DCR   r     | IIQ   r/w   |  
     | 
| 
       5120 
     | 
    
         
            -
              DFONT r     | IND   r/w   |  
     | 
| 
       5121 
     | 
    
         
            -
              DIVX  r     | INSP  r/w   |  
     | 
| 
       5122 
     | 
    
         
            -
              DJVU  r     | INSV  r     |  
     | 
| 
       5123 
     | 
    
         
            -
              DLL   r     | INX   r     |  
     | 
| 
       5124 
     | 
    
         
            -
              DNG   r/w   | ISO   r     |  
     | 
| 
       5125 
     | 
    
         
            -
              DOC   r     | ITC   r     |  
     | 
| 
       5126 
     | 
    
         
            -
              DOCX  r     | J2C   r     |  
     | 
| 
      
 5092 
     | 
    
         
            +
              360   r/w   | DR4   r/w/c | JP2   r/w   | ODT   r     | RWL   r/w
         
     | 
| 
      
 5093 
     | 
    
         
            +
              3FR   r     | DSF   r     | JPEG  r/w   | OFR   r     | RWZ   r
         
     | 
| 
      
 5094 
     | 
    
         
            +
              3G2   r/w   | DSS   r     | JSON  r     | OGG   r     | RM    r
         
     | 
| 
      
 5095 
     | 
    
         
            +
              3GP   r/w   | DV    r     | JXL   r/w   | OGV   r     | SEQ   r
         
     | 
| 
      
 5096 
     | 
    
         
            +
              7Z    r     | DVB   r/w   | K25   r     | ONP   r     | SKETCH r
         
     | 
| 
      
 5097 
     | 
    
         
            +
              A     r     | DVR-MS r    | KDC   r     | OPUS  r     | SO    r
         
     | 
| 
      
 5098 
     | 
    
         
            +
              AA    r     | DYLIB r     | KEY   r     | ORF   r/w   | SR2   r/w
         
     | 
| 
      
 5099 
     | 
    
         
            +
              AAC   r     | EIP   r     | LA    r     | ORI   r/w   | SRF   r
         
     | 
| 
      
 5100 
     | 
    
         
            +
              AAE   r     | EPS   r/w   | LFP   r     | OTF   r     | SRW   r/w
         
     | 
| 
      
 5101 
     | 
    
         
            +
              AAX   r/w   | EPUB  r     | LIF   r     | PAC   r     | SVG   r
         
     | 
| 
      
 5102 
     | 
    
         
            +
              ACR   r     | ERF   r/w   | LNK   r     | PAGES r     | SWF   r
         
     | 
| 
      
 5103 
     | 
    
         
            +
              AFM   r     | EXE   r     | LRV   r/w   | PBM   r/w   | THM   r/w
         
     | 
| 
      
 5104 
     | 
    
         
            +
              AI    r/w   | EXIF  r/w/c | M2TS  r     | PCAP  r     | TIFF  r/w
         
     | 
| 
      
 5105 
     | 
    
         
            +
              AIFF  r     | EXR   r     | M4A/V r/w   | PCAPNG r    | TNEF  r
         
     | 
| 
      
 5106 
     | 
    
         
            +
              APE   r     | EXV   r/w/c | MACOS r     | PCD   r     | TORRENT r
         
     | 
| 
      
 5107 
     | 
    
         
            +
              ARQ   r/w   | F4A/V r/w   | MAX   r     | PCX   r     | TTC   r
         
     | 
| 
      
 5108 
     | 
    
         
            +
              ARW   r/w   | FFF   r/w   | MEF   r/w   | PDB   r     | TTF   r
         
     | 
| 
      
 5109 
     | 
    
         
            +
              ASF   r     | FITS  r     | MIE   r/w/c | PDF   r/w   | TXT   r
         
     | 
| 
      
 5110 
     | 
    
         
            +
              AVI   r     | FLA   r     | MIFF  r     | PEF   r/w   | URL   r
         
     | 
| 
      
 5111 
     | 
    
         
            +
              AVIF  r/w   | FLAC  r     | MKA   r     | PFA   r     | VCF   r
         
     | 
| 
      
 5112 
     | 
    
         
            +
              AZW   r     | FLIF  r/w   | MKS   r     | PFB   r     | VNT   r
         
     | 
| 
      
 5113 
     | 
    
         
            +
              BMP   r     | FLV   r     | MKV   r     | PFM   r     | VRD   r/w/c
         
     | 
| 
      
 5114 
     | 
    
         
            +
              BPG   r     | FPF   r     | MNG   r/w   | PGF   r     | VSD   r
         
     | 
| 
      
 5115 
     | 
    
         
            +
              BTF   r     | FPX   r     | MOBI  r     | PGM   r/w   | VSDX  r
         
     | 
| 
      
 5116 
     | 
    
         
            +
              C2PA  r     | GIF   r/w   | MODD  r     | PLIST r     | WAV   r
         
     | 
| 
      
 5117 
     | 
    
         
            +
              CHM   r     | GLV   r/w   | MOI   r     | PICT  r     | WDP   r/w
         
     | 
| 
      
 5118 
     | 
    
         
            +
              COS   r     | GPR   r/w   | MOS   r/w   | PMP   r     | WEBP  r/w
         
     | 
| 
      
 5119 
     | 
    
         
            +
              CR2   r/w   | GZ    r     | MOV   r/w   | PNG   r/w   | WEBM  r
         
     | 
| 
      
 5120 
     | 
    
         
            +
              CR3   r/w   | HDP   r/w   | MP3   r     | PPM   r/w   | WMA   r
         
     | 
| 
      
 5121 
     | 
    
         
            +
              CRM   r/w   | HDR   r     | MP4   r/w   | PPT   r     | WMV   r
         
     | 
| 
      
 5122 
     | 
    
         
            +
              CRW   r/w   | HEIC  r/w   | MPC   r     | PPTX  r     | WOFF  r
         
     | 
| 
      
 5123 
     | 
    
         
            +
              CS1   r/w   | HEIF  r/w   | MPG   r     | PS    r/w   | WOFF2 r
         
     | 
| 
      
 5124 
     | 
    
         
            +
              CSV   r     | HTML  r     | MPO   r/w   | PSB   r/w   | WPG   r
         
     | 
| 
      
 5125 
     | 
    
         
            +
              CUR   r     | ICC   r/w/c | MQV   r/w   | PSD   r/w   | WTV   r
         
     | 
| 
      
 5126 
     | 
    
         
            +
              CZI   r     | ICO   r     | MRC   r     | PSP   r     | WV    r
         
     | 
| 
      
 5127 
     | 
    
         
            +
              DCM   r     | ICS   r     | MRW   r/w   | QTIF  r/w   | X3F   r/w
         
     | 
| 
      
 5128 
     | 
    
         
            +
              DCP   r/w   | IDML  r     | MXF   r     | R3D   r     | XCF   r
         
     | 
| 
      
 5129 
     | 
    
         
            +
              DCR   r     | IIQ   r/w   | NEF   r/w   | RA    r     | XISF  r
         
     | 
| 
      
 5130 
     | 
    
         
            +
              DFONT r     | IND   r/w   | NKA   r     | RAF   r/w   | XLS   r
         
     | 
| 
      
 5131 
     | 
    
         
            +
              DIVX  r     | INSP  r/w   | NKSC  r/w   | RAM   r     | XLSX  r
         
     | 
| 
      
 5132 
     | 
    
         
            +
              DJVU  r     | INSV  r     | NRW   r/w   | RAR   r     | XMP   r/w/c
         
     | 
| 
      
 5133 
     | 
    
         
            +
              DLL   r     | INX   r     | NUMBERS r   | RAW   r/w   | ZIP   r
         
     | 
| 
      
 5134 
     | 
    
         
            +
              DNG   r/w   | ISO   r     | NXD   r     | RIFF  r     |
         
     | 
| 
      
 5135 
     | 
    
         
            +
              DOC   r     | ITC   r     | O     r     | RSRC  r     |
         
     | 
| 
      
 5136 
     | 
    
         
            +
              DOCX  r     | J2C   r     | ODP   r     | RTF   r     |
         
     | 
| 
      
 5137 
     | 
    
         
            +
              DPX   r     | JNG   r/w   | ODS   r     | RW2   r/w   |
         
     | 
| 
       5127 
5138 
     | 
    
         | 
| 
       5128 
5139 
     | 
    
         
             
              Meta Information
         
     | 
| 
       5129 
5140 
     | 
    
         
             
              ----------------------+----------------------+---------------------
         
     | 
| 
         @@ -5722,10 +5733,12 @@ as the exported file.  The first row of the I<CSVFILE> must be the ExifTool 
     | 
|
| 
       5722 
5733 
     | 
    
         
             
            tag names (with optional group names) for each column of the file, and
         
     | 
| 
       5723 
5734 
     | 
    
         
             
            values must be separated by commas.  A special "SourceFile" column specifies
         
     | 
| 
       5724 
5735 
     | 
    
         
             
            the files associated with each row of information (and a SourceFile of "*"
         
     | 
| 
       5725 
     | 
    
         
            -
            may be used to define default tags to be imported for all files which are
         
     | 
| 
       5726 
     | 
    
         
            -
            combined with any tags specified for the specific SourceFile 
     | 
| 
       5727 
     | 
    
         
            -
             
     | 
| 
       5728 
     | 
    
         
            -
             
     | 
| 
      
 5736 
     | 
    
         
            +
            may be used to define default tags to be imported for all files, which are
         
     | 
| 
      
 5737 
     | 
    
         
            +
            then combined with any tags specified for the specific SourceFile
         
     | 
| 
      
 5738 
     | 
    
         
            +
            processed).  To be clear, the imported CSV file acts as a lookup table to
         
     | 
| 
      
 5739 
     | 
    
         
            +
            obtain the tags for import based on the files/directories and tags specified
         
     | 
| 
      
 5740 
     | 
    
         
            +
            on the command line.  The B<-csvDelim> option may be used to change the
         
     | 
| 
      
 5741 
     | 
    
         
            +
            input/output field delimiter if something other than a comma is required.
         
     | 
| 
       5729 
5742 
     | 
    
         | 
| 
       5730 
5743 
     | 
    
         
             
            The following examples demonstrate basic use of the B<-csv> option:
         
     | 
| 
       5731 
5744 
     | 
    
         | 
| 
         @@ -5924,18 +5937,18 @@ convert arrays into strings.  For example: 
     | 
|
| 
       5924 
5937 
     | 
    
         | 
| 
       5925 
5938 
     | 
    
         
             
                exiftool -j -api structformat=jsonq -sep ", " ...
         
     | 
| 
       5926 
5939 
     | 
    
         | 
| 
       5927 
     | 
    
         
            -
            If I<JSONFILE> is specified, the file is imported and the tag 
     | 
| 
       5928 
     | 
    
         
            -
            from the  
     | 
| 
       5929 
     | 
    
         
            -
             
     | 
| 
       5930 
     | 
    
         
            -
             
     | 
| 
       5931 
     | 
    
         
            -
             
     | 
| 
       5932 
     | 
    
         
            -
             
     | 
| 
       5933 
     | 
    
         
            -
             
     | 
| 
       5934 
     | 
    
         
            -
             
     | 
| 
       5935 
     | 
    
         
            -
             
     | 
| 
       5936 
     | 
    
         
            -
             
     | 
| 
       5937 
     | 
    
         
            -
             
     | 
| 
       5938 
     | 
    
         
            -
            print conversion.
         
     | 
| 
      
 5940 
     | 
    
         
            +
            If I<JSONFILE> is specified, the JSON file is imported and the tag
         
     | 
| 
      
 5941 
     | 
    
         
            +
            definitions from the JSON are used to set tag values on a per-file basis for
         
     | 
| 
      
 5942 
     | 
    
         
            +
            each file specified on the command line.  A special "SourceFile" entry in
         
     | 
| 
      
 5943 
     | 
    
         
            +
            each JSON object associates the information with a specific target file.  An
         
     | 
| 
      
 5944 
     | 
    
         
            +
            object with a missing SourceFile or a SourceFile of "*" defines default tags
         
     | 
| 
      
 5945 
     | 
    
         
            +
            for all target files which are combined with any tags specified for the
         
     | 
| 
      
 5946 
     | 
    
         
            +
            specific SourceFile processed.  The imported JSON file must have the same
         
     | 
| 
      
 5947 
     | 
    
         
            +
            format as the exported JSON files with the exception that options exporting
         
     | 
| 
      
 5948 
     | 
    
         
            +
            JSON objects instead of simple values are not compatible with the import
         
     | 
| 
      
 5949 
     | 
    
         
            +
            file format (ie. export with B<-D>, B<-H>, B<-l>, or B<-T> is not
         
     | 
| 
      
 5950 
     | 
    
         
            +
            compatible, and use B<-G> instead of B<-g>).  Additionally, tag names in the
         
     | 
| 
      
 5951 
     | 
    
         
            +
            input JSON file may be suffixed with a C<#> to disable print conversion.
         
     | 
| 
       5939 
5952 
     | 
    
         | 
| 
       5940 
5953 
     | 
    
         
             
            Specific tags may be imported from the JSON database by adding B<->I<TAG>
         
     | 
| 
       5941 
5954 
     | 
    
         
             
            options to the command, or excluded with B<-->I<TAG>, with exclusions taking
         
     | 
| 
         @@ -6082,7 +6095,7 @@ with this command: 
     | 
|
| 
       6082 
6095 
     | 
    
         | 
| 
       6083 
6096 
     | 
    
         
             
            produces output like this:
         
     | 
| 
       6084 
6097 
     | 
    
         | 
| 
       6085 
     | 
    
         
            -
                -- Generated by ExifTool 13. 
     | 
| 
      
 6098 
     | 
    
         
            +
                -- Generated by ExifTool 13.40 --
         
     | 
| 
       6086 
6099 
     | 
    
         
             
                File: a.jpg - 2003:10:31 15:44:19
         
     | 
| 
       6087 
6100 
     | 
    
         
             
                (f/5.6, 1/60s, ISO 100)
         
     | 
| 
       6088 
6101 
     | 
    
         
             
                File: b.jpg - 2006:05:23 11:57:38
         
     | 
| 
         @@ -7335,7 +7348,7 @@ used in file names.) 
     | 
|
| 
       7335 
7348 
     | 
    
         | 
| 
       7336 
7349 
     | 
    
         
             
            Note that function names are case sensitive.
         
     | 
| 
       7337 
7350 
     | 
    
         | 
| 
       7338 
     | 
    
         
            -
            C<DateFmt 
     | 
| 
      
 7351 
     | 
    
         
            +
            B<C<DateFmt>>
         
     | 
| 
       7339 
7352 
     | 
    
         | 
| 
       7340 
7353 
     | 
    
         
             
            Simplifies reformatting of individual date/time values.  This function acts
         
     | 
| 
       7341 
7354 
     | 
    
         
             
            on a standard EXIF-formatted date/time value in C<$_> and formats it
         
     | 
| 
         @@ -7346,7 +7359,7 @@ used.  For example: 
     | 
|
| 
       7346 
7359 
     | 
    
         | 
| 
       7347 
7360 
     | 
    
         
             
                exiftool -p '${createdate#;DateFmt("%Y-%m-%d_%H%M%S")}' a.jpg
         
     | 
| 
       7348 
7361 
     | 
    
         | 
| 
       7349 
     | 
    
         
            -
            C<ShiftTime 
     | 
| 
      
 7362 
     | 
    
         
            +
            B<C<ShiftTime>>
         
     | 
| 
       7350 
7363 
     | 
    
         | 
| 
       7351 
7364 
     | 
    
         
             
            Shifts EXIF-formatted date/time string by a specified amount.  Start with a
         
     | 
| 
       7352 
7365 
     | 
    
         
             
            leading minus sign to shift backwards in time.  See
         
     | 
| 
         @@ -7355,7 +7368,7 @@ shift syntax.  For example, to shift a date/time value back by one year: 
     | 
|
| 
       7355 
7368 
     | 
    
         | 
| 
       7356 
7369 
     | 
    
         
             
                exiftool -p '${createdate;ShiftTime("-1:0:0 0")}' a.jpg
         
     | 
| 
       7357 
7370 
     | 
    
         | 
| 
       7358 
     | 
    
         
            -
            C<NoDups 
     | 
| 
      
 7371 
     | 
    
         
            +
            B<C<NoDups>>
         
     | 
| 
       7359 
7372 
     | 
    
         | 
| 
       7360 
7373 
     | 
    
         
             
            Removes duplicate items from a list with a separator specified by the
         
     | 
| 
       7361 
7374 
     | 
    
         
             
            B<-sep> option.  This function is most useful when copying list-type tags. 
         
     | 
| 
         @@ -7380,7 +7393,7 @@ sources.  An equivalent to the above commands using this feature would be: 
     | 
|
| 
       7380 
7393 
     | 
    
         | 
| 
       7381 
7394 
     | 
    
         
             
                exiftool -tagsfromfile @ -keywords -api nodups a.jpg
         
     | 
| 
       7382 
7395 
     | 
    
         | 
| 
       7383 
     | 
    
         
            -
            C<SetTags 
     | 
| 
      
 7396 
     | 
    
         
            +
            B<C<SetTags>>
         
     | 
| 
       7384 
7397 
     | 
    
         | 
| 
       7385 
7398 
     | 
    
         
             
            Used to set tags in extracted images.  With no arguments, copies all tags
         
     | 
| 
       7386 
7399 
     | 
    
         
             
            from the source file to the embedded image:
         
     | 
| 
         @@ -248,7 +248,7 @@ my %fixed2_30 = ( 
     | 
|
| 
       248 
248 
     | 
    
         
             
            );
         
     | 
| 
       249 
249 
     | 
    
         | 
| 
       250 
250 
     | 
    
         
             
            #------------------------------------------------------------------------------
         
     | 
| 
       251 
     | 
    
         
            -
            # Extract  
     | 
| 
      
 251 
     | 
    
         
            +
            # Extract metadata from a BMP image
         
     | 
| 
       252 
252 
     | 
    
         
             
            # Inputs: 0) ExifTool object reference, 1) dirInfo reference
         
     | 
| 
       253 
253 
     | 
    
         
             
            # Returns: 1 on success, 0 if this wasn't a valid BMP file
         
     | 
| 
       254 
254 
     | 
    
         
             
            sub ProcessBMP($$)
         
     | 
| 
         @@ -74,7 +74,8 @@ my %tweakOrder = ( 
     | 
|
| 
       74 
74 
     | 
    
         
             
                DJI     => 'Casio',
         
     | 
| 
       75 
75 
     | 
    
         
             
                FLIR    => 'DJI',
         
     | 
| 
       76 
76 
     | 
    
         
             
                FujiFilm => 'FLIR',
         
     | 
| 
       77 
     | 
    
         
            -
                 
     | 
| 
      
 77 
     | 
    
         
            +
                Google  => 'GE',
         
     | 
| 
      
 78 
     | 
    
         
            +
                GoPro   => 'Google',
         
     | 
| 
       78 
79 
     | 
    
         
             
                Kodak   => 'JVC',
         
     | 
| 
       79 
80 
     | 
    
         
             
                Leaf    => 'Kodak',
         
     | 
| 
       80 
81 
     | 
    
         
             
                Lytro   => 'Leaf',
         
     | 
| 
         @@ -109,7 +110,6 @@ my %tweakOrder = ( 
     | 
|
| 
       109 
110 
     | 
    
         
             
                'FujiFilm::RAFData' => 'FujiFilm::RAF',
         
     | 
| 
       110 
111 
     | 
    
         
             
                'QuickTime::AudioKeys' => 'QuickTime::Keys',
         
     | 
| 
       111 
112 
     | 
    
         
             
                'QuickTime::VideoKeys' => 'QuickTime::AudioKeys',
         
     | 
| 
       112 
     | 
    
         
            -
                'Google::HDRPText' => 'Google::HDRPlusMakerNote',
         
     | 
| 
       113 
113 
     | 
    
         
             
            );
         
     | 
| 
       114 
114 
     | 
    
         | 
| 
       115 
115 
     | 
    
         
             
            # list of all recognized Format strings
         
     |