exiftool-vendored.pl 12.45.0 → 12.50.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.
Files changed (57) hide show
  1. package/bin/Changes +122 -6
  2. package/bin/MANIFEST +12 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +45 -44
  6. package/bin/config_files/acdsee.config +2 -1
  7. package/bin/config_files/frameCount.config +56 -0
  8. package/bin/config_files/tiff_version.config +1 -1
  9. package/bin/exiftool +89 -75
  10. package/bin/lib/Image/ExifTool/Apple.pm +6 -2
  11. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +17 -9
  12. package/bin/lib/Image/ExifTool/Canon.pm +31 -14
  13. package/bin/lib/Image/ExifTool/CanonRaw.pm +8 -1
  14. package/bin/lib/Image/ExifTool/Exif.pm +13 -8
  15. package/bin/lib/Image/ExifTool/FLAC.pm +17 -3
  16. package/bin/lib/Image/ExifTool/FlashPix.pm +4 -2
  17. package/bin/lib/Image/ExifTool/FujiFilm.pm +31 -5
  18. package/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  19. package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  20. package/bin/lib/Image/ExifTool/ICO.pm +143 -0
  21. package/bin/lib/Image/ExifTool/ID3.pm +5 -5
  22. package/bin/lib/Image/ExifTool/IPTC.pm +5 -1
  23. package/bin/lib/Image/ExifTool/M2TS.pm +98 -8
  24. package/bin/lib/Image/ExifTool/MIE.pm +9 -3
  25. package/bin/lib/Image/ExifTool/MISB.pm +494 -0
  26. package/bin/lib/Image/ExifTool/MakerNotes.pm +3 -1
  27. package/bin/lib/Image/ExifTool/Nikon.pm +220 -109
  28. package/bin/lib/Image/ExifTool/NikonSettings.pm +5 -3
  29. package/bin/lib/Image/ExifTool/Olympus.pm +2 -1
  30. package/bin/lib/Image/ExifTool/Panasonic.pm +21 -4
  31. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +12 -5
  32. package/bin/lib/Image/ExifTool/Pentax.pm +7 -2
  33. package/bin/lib/Image/ExifTool/Photoshop.pm +29 -3
  34. package/bin/lib/Image/ExifTool/QuickTime.pm +78 -10
  35. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +76 -5
  36. package/bin/lib/Image/ExifTool/README +5 -1
  37. package/bin/lib/Image/ExifTool/RIFF.pm +106 -9
  38. package/bin/lib/Image/ExifTool/Samsung.pm +2 -2
  39. package/bin/lib/Image/ExifTool/Sigma.pm +27 -1
  40. package/bin/lib/Image/ExifTool/SigmaRaw.pm +37 -13
  41. package/bin/lib/Image/ExifTool/Sony.pm +35 -16
  42. package/bin/lib/Image/ExifTool/TagInfoXML.pm +3 -1
  43. package/bin/lib/Image/ExifTool/TagLookup.pm +4700 -4520
  44. package/bin/lib/Image/ExifTool/TagNames.pod +4796 -4463
  45. package/bin/lib/Image/ExifTool/Text.pm +3 -4
  46. package/bin/lib/Image/ExifTool/Torrent.pm +2 -3
  47. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +7 -0
  48. package/bin/lib/Image/ExifTool/WriteExif.pl +19 -1
  49. package/bin/lib/Image/ExifTool/WriteRIFF.pl +359 -0
  50. package/bin/lib/Image/ExifTool/Writer.pl +6 -2
  51. package/bin/lib/Image/ExifTool/XMP.pm +72 -57
  52. package/bin/lib/Image/ExifTool/XMP2.pl +9 -1
  53. package/bin/lib/Image/ExifTool.pm +81 -18
  54. package/bin/lib/Image/ExifTool.pod +64 -60
  55. package/bin/perl-Image-ExifTool.spec +43 -43
  56. package/bin/pp_build_exe.args +7 -4
  57. package/package.json +2 -2
package/bin/Changes CHANGED
@@ -4,9 +4,125 @@ ExifTool Version History
4
4
 
5
5
  RSS feed: https://exiftool.org/rss.xml
6
6
 
7
- Note: The most recent production release is Version 12.42. (Other versions are
7
+ Note: The most recent production release is Version 12.50. (Other versions are
8
8
  considered development releases, and are not uploaded to MetaCPAN.)
9
9
 
10
+ Nov. 8, 2022 - Version 12.50 (production release)
11
+
12
+ - Added a new XMP-GCreations tag
13
+ - Added a few new Sony lenses (thanks Jos Roost)
14
+ - Added new SonyModelID and Olympus CameraType values (thanks LibRaw and Herb)
15
+ - Added a couple of new XMP tags (thanks Jose Oliver-Didier)
16
+ - Added a new Nikon Z lens (thanks LibRaw)
17
+ - Added a new Canon LensType and CanonModelID (thanks Norbert Wasser and
18
+ LibRaw)
19
+ - Added some new Pentax lenses (thanks LibRaw)
20
+ - Added experimental support for timed GPS in TS videos from Jomise T860S-GM
21
+ dashcam (more samples are needed for this to be finalized)
22
+ - Decode information written in "skip" atom of 70mai Pro Plus+ MP4 videos
23
+ - Decode timed accelerometer data from Kenwood dashcam MP4 videos
24
+ - Decode a few new Nikon Z9 tags (thanks Stefan Grussen)
25
+ - Decode ColorData for some newer Canon models (thanks LibRaw)
26
+ - Decode a number of new tags for the Sony ILCE-7RM5 (thanks Jos Roost)
27
+ - Updated IPTC XMP tags to correspond with new Photo Metadata 2022.1 standard
28
+ - Extract JPEG previews from FujiFilm HIF images
29
+ - Changed -if option so multiple -if options are evaluated at the lowest
30
+ specified -fast level
31
+ - Changed MIMEType for ICO and CUR files
32
+ - Enhanced -fast2 so it stops processing QuickTime files at mdat atom
33
+ - Enhanced -listx output so -f also indicates the ID of the parent structure
34
+ for Flattened tags
35
+ - Improved conversion of IPTC date-only and time-only tags to allow formatting
36
+ with the -d option
37
+ - Improved Canon and Nikon TimeZone tags to accept a wider variety of input
38
+ formats when writing
39
+ - Disabled extraction of Nikon Z9 MenuSettings for firmware 3.0 until they can
40
+ be properly decoded (thanks Warren Hatch)
41
+ - Fixed decoding of AF points for some newer Nikon models
42
+ - Fixed inconsistent year and time zone for Kenwood dashcam timed GPS in MP4
43
+ videos
44
+
45
+ Oct. 19, 2022 - Version 12.49
46
+
47
+ - Added read support for Windows ICO and CUR files
48
+ - Added ability to shift EXIF OffsetTime tags (eg. "-OffsetTime+=+02:00")
49
+ - Added a few new XMP tags and print conversions
50
+ - Added a print conversion for Photoshop:PrintFlags
51
+ - Added a new SonyModelID (thanks LibRaw)
52
+ - Added a few new Canon RF LensType values (thanks Norbert Wasser)
53
+ - Added a new Canon LensType
54
+ - Added a new Nikon LensID
55
+ - Decode 'riff' metadata blocks in FLAC audio files
56
+ - Decode RIFF 'acid' chunk written by Acidizer
57
+ - Enhanced the -d option %f sub-second date/time format code to allow the
58
+ decimal point to be dropped (eg. "%-3f")
59
+ - Patched another Sigma Photo Pro incompatibility when writing X3F images
60
+ (Sigma will also fix this at their end in the next SPP release)
61
+
62
+ Oct. 13, 2022 - Version 12.48
63
+
64
+ - Added support for new XMP-photoshop:CameraProfiles structure
65
+ - Added a new SonyModelID and Sony LensType (thanks Jos Roost)
66
+ - Decode more tags for the Sony ILME-FX30 (thanks Jos Roost)
67
+ - Decode a couple of new Panasonic tags, and improved decoding of others
68
+ - Decode STANAG-4609 MISB timed metadata from M2TS videos
69
+ - Decode a new Nikon tag (thanks Warren Hatch)
70
+ - Decode a couple of new FujiFilm tags (thanks Honza Pokorny)
71
+ - Improved round-off errors when writing QuickTime:MatrixStructure via the
72
+ Composite:Rotation tag
73
+ - Increased Verbose level of "nothing changed" message added in 12.45
74
+ - Removed "Z" (Zulu) designation from some of the MS-DOC date/time tags
75
+ because they most certainly are in local time as written by Word 2011 for
76
+ Mac (while some other MS-DOC and FlashPix date/time tags extracted without a
77
+ "Z" are actually in Zulu time -- a bit of a mess really)
78
+ - Prevent dynamically-generated Unknown tags from being extracted when the
79
+ -validate option is used without -u
80
+ - Patched to better handle irregular timestamps in streaming GPS of NextBase
81
+ dashcam videos
82
+ - Fixed incompatibility with Sigma Photo Pro which could result in Sigma Photo
83
+ Pro corrupting an ExifTool-edited X3F image (the section length in the
84
+ footer needed to include the padding to a 4-byte boundary, thanks Sigma
85
+ engineer Yuki Miyahara)
86
+ - Fixed problem which could prevent ExifTool from reading all GPS points from
87
+ some INNOV M2TS videos
88
+
89
+ Oct. 3, 2022 - Version 12.47
90
+
91
+ - Added a new Nikon LensID (thanks David Puschel)
92
+ - Fixed bug introduced in 12.46 which resulted in a runtime error when -j was
93
+ combined with -b
94
+
95
+ Oct. 1, 2022 - Version 12.46 - "Write WEBP"
96
+
97
+ - Added WEBP write support
98
+ - Added the abilty to write Panasonic GH6 RW2 files
99
+ - Added a new Canon LensType
100
+ - Added a number of new Sigma LensType values (thanks LibRaw)
101
+ - Added support for BigTIFF format code 16 in Apple ProRaw maker notes
102
+ - Added config_files/frameCount.config to extract MP4 FrameCount
103
+ - Added a MIE OriginalImageSize tag
104
+ - Added some extra -validate checks for RIFF-based file formats
105
+ - Extract FrameRate from MP4 tmcd box
106
+ - Decode a new Apple tag (thanks Neal Krawetz)
107
+ - Decode more information from Nikon Z-camera videos
108
+ - Decode streaming GPS from Garmin DriveAssist 51 MP4 videos
109
+ - Changed the names of two FujiFilm FirmwareVersion tags
110
+ - Enhanced WEBP FileType identification to denote Extended WEBP
111
+ - Preserve fractional seconds when extracting Samsung TimeStamp times
112
+ - Patched to avoid reporting Photoshop:ProgressiveScans unless PhotoshopFormat
113
+ is Progressive
114
+ - Patched to test QuickTime UserData tags with default 0x0000 language code to
115
+ see if they contain UTF8 characters, and if so assume UTF8 encoding and
116
+ ignore the CharsetQuickTime setting
117
+ - Patched to avoid potential deep recursion when reading/writing malicious CRW
118
+ images
119
+ - Fixed "Invalid ID3 frame size" problem when reading ID3v2 with an extended
120
+ header (very uncommon, but Audacity uses this)
121
+ - Fixed typo in the name of a new DNG 1.6 tag
122
+ - Fixed some verbose warnings when reading Nikon Z-camera NEF files
123
+ - Fixed decoding of a couple of Nikon Z9 tags for newer firmware versions
124
+ (thanks Warren Hatch)
125
+
10
126
  Sept. 16, 2022 - Version 12.45
11
127
 
12
128
  - Added new IPTC Video Metadata version 1.3 tags
@@ -239,7 +355,7 @@ Oct. 16, 2021 - Version 12.33
239
355
  - Added a new Canon RF lens (thanks Norbert Wasser)
240
356
  - Decode Canon ShutterMode (thanks John Moyer)
241
357
  - Extract LensModel from some Olympus MOV videos
242
- - Generate MediaDataOffset/Size for MOV videos with zero-sized MDAT chunk
358
+ - Generate MediaDataOffset/Size for MOV videos with zero-sized mdat chunk
243
359
  - Improvements to CBOR reader, including hex dump with -v3 option
244
360
  - Recognize Final Cut Pro XML files
245
361
  - Allow binary data of Protected tags to be extracted with the -X -j and -php
@@ -304,6 +420,8 @@ Aug. 12, 2021 - Version 12.30 (production release)
304
420
  currently can't be created)
305
421
  - Patched to remove 2 GB size limit when reading Photoshop ImageSourceData
306
422
 
423
+ History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
424
+
307
425
  July 9, 2021 - Version 12.29
308
426
 
309
427
  - Added a few new Nikon and Olympus lenses (thanks LibRaw)
@@ -358,8 +476,6 @@ May 20, 2021 - Version 12.26 (production release)
358
476
  - Fixed problem which could cause a "Wide character" warning and generate a
359
477
  corrupted output file when writing some illegal values
360
478
 
361
- History of older versions (back to Nov. 19, 2003 - Version 1.00) -->
362
-
363
479
  Apr. 22, 2021 - Version 12.25
364
480
 
365
481
  - JPEG XL support is now official
@@ -675,7 +791,7 @@ Aug. 10, 2020 - Version 12.04
675
791
  - Moved new QuckTime ItemList tags added in version 12.02 to the proper group
676
792
  (they were incorrectly added to the Keys group)
677
793
  - Improved QuickTime -v3 output to show default language codes
678
- - Patched -lang option to work for the values of somet tags with coded
794
+ - Patched -lang option to work for the values of some tags with coded
679
795
  translations
680
796
  - Patched the format of a number of QuickTime tags when writing for improved
681
797
  compatibility with iTunes and AtomicParsley
@@ -2038,7 +2154,7 @@ Mar. 1, 2018 - Version 10.82
2038
2154
  - Added a few new CanonModelID/SonyModelID values (thanks LibRaw)
2039
2155
  - Added support for the Sony ILCE-7M3 (thanks Jos Roost)
2040
2156
  - Decode timed GPS information from Insta360 MP4 videos with the -ee option
2041
- - Write XMP before idat in MOV/MP4/CR3 files if possible
2157
+ - Write XMP before mdat in MOV/MP4/CR3 files if possible
2042
2158
  - Fixed "'x' outside of string" runtime error when reading some Sony images
2043
2159
  - Fixed problem with some hex dumps going to the console when -v3 was combined
2044
2160
  with the -w option
package/bin/MANIFEST CHANGED
@@ -23,6 +23,7 @@ config_files/cuepointlist.config
23
23
  config_files/depthmap.config
24
24
  config_files/example.config
25
25
  config_files/fotoware.config
26
+ config_files/frameCount.config
26
27
  config_files/gps2utm.config
27
28
  config_files/nksc.config
28
29
  config_files/photoshop_paths.config
@@ -84,6 +85,7 @@ html/TagNames/H264.html
84
85
  html/TagNames/HP.html
85
86
  html/TagNames/HTML.html
86
87
  html/TagNames/ICC_Profile.html
88
+ html/TagNames/ICO.html
87
89
  html/TagNames/ID3.html
88
90
  html/TagNames/IPTC.html
89
91
  html/TagNames/ISO.html
@@ -102,6 +104,7 @@ html/TagNames/Lytro.html
102
104
  html/TagNames/M2TS.html
103
105
  html/TagNames/MIE.html
104
106
  html/TagNames/MIFF.html
107
+ html/TagNames/MISB.html
105
108
  html/TagNames/MNG.html
106
109
  html/TagNames/MOI.html
107
110
  html/TagNames/MPC.html
@@ -291,6 +294,7 @@ lib/Image/ExifTool/HP.pm
291
294
  lib/Image/ExifTool/HTML.pm
292
295
  lib/Image/ExifTool/HtmlDump.pm
293
296
  lib/Image/ExifTool/ICC_Profile.pm
297
+ lib/Image/ExifTool/ICO.pm
294
298
  lib/Image/ExifTool/ID3.pm
295
299
  lib/Image/ExifTool/IPTC.pm
296
300
  lib/Image/ExifTool/ISO.pm
@@ -329,6 +333,7 @@ lib/Image/ExifTool/M2TS.pm
329
333
  lib/Image/ExifTool/MIE.pm
330
334
  lib/Image/ExifTool/MIEUnits.pod
331
335
  lib/Image/ExifTool/MIFF.pm
336
+ lib/Image/ExifTool/MISB.pm
332
337
  lib/Image/ExifTool/MNG.pm
333
338
  lib/Image/ExifTool/MOI.pm
334
339
  lib/Image/ExifTool/MPC.pm
@@ -417,6 +422,7 @@ lib/Image/ExifTool/WritePNG.pl
417
422
  lib/Image/ExifTool/WritePhotoshop.pl
418
423
  lib/Image/ExifTool/WritePostScript.pl
419
424
  lib/Image/ExifTool/WriteQuickTime.pl
425
+ lib/Image/ExifTool/WriteRIFF.pl
420
426
  lib/Image/ExifTool/WriteXMP.pl
421
427
  lib/Image/ExifTool/Writer.pl
422
428
  lib/Image/ExifTool/XMP.pm
@@ -592,6 +598,8 @@ t/GoPro.t
592
598
  t/GoPro_2.out
593
599
  t/HTML.t
594
600
  t/HTML_2.out
601
+ t/ICO.t
602
+ t/ICO_2.out
595
603
  t/IPTC.t
596
604
  t/IPTC_2.out
597
605
  t/IPTC_4.out
@@ -792,6 +800,9 @@ t/RIFF.t
792
800
  t/RIFF_2.out
793
801
  t/RIFF_3.out
794
802
  t/RIFF_4.out
803
+ t/RIFF_5.out
804
+ t/RIFF_6.out
805
+ t/RIFF_7.out
795
806
  t/RTF.t
796
807
  t/RTF_2.out
797
808
  t/Radiance.t
@@ -1016,6 +1027,7 @@ t/images/Geotag_DJI_2020-12-02_[07-50-31].csv
1016
1027
  t/images/GoPro.jpg
1017
1028
  t/images/HTML.html
1018
1029
  t/images/ICC_Profile.icc
1030
+ t/images/ICO.ico
1019
1031
  t/images/IPTC.jpg
1020
1032
  t/images/ISO.iso
1021
1033
  t/images/ITC.itc
package/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "12.45",
50
+ "version" : "12.50",
51
51
  "x_serialization_backend" : "JSON::PP version 4.02"
52
52
  }
package/bin/META.yml CHANGED
@@ -28,5 +28,5 @@ recommends:
28
28
  Time::HiRes: 0
29
29
  requires:
30
30
  perl: 5.004
31
- version: 12.45
31
+ version: 12.50
32
32
  x_serialization_backend: 'JSON::PP version 4.02'
package/bin/README CHANGED
@@ -14,48 +14,48 @@ supported by ExifTool (r = read, w = write, c = create):
14
14
 
15
15
  File Types
16
16
  ------------+-------------+-------------+-------------+------------
17
- 360 r/w | DR4 r/w/c | JNG r/w | O r | RAW r/w
18
- 3FR r | DSS r | JP2 r/w | ODP r | RIFF r
19
- 3G2 r/w | DV r | JPEG r/w | ODS r | RSRC r
20
- 3GP r/w | DVB r/w | JSON r | ODT r | RTF r
21
- A r | DVR-MS r | JXL r | OFR r | RW2 r/w
22
- AA r | DYLIB r | K25 r | OGG r | RWL r/w
23
- AAE r | EIP r | KDC r | OGV r | RWZ r
24
- AAX r/w | EPS r/w | KEY r | ONP r | RM r
25
- ACR r | EPUB r | LA r | OPUS r | SEQ r
26
- AFM r | ERF r/w | LFP r | ORF r/w | SKETCH r
27
- AI r/w | EXE r | LIF r | ORI r/w | SO r
28
- AIFF r | EXIF r/w/c | LNK r | OTF r | SR2 r/w
29
- APE r | EXR r | LRV r/w | PAC r | SRF r
30
- ARQ r/w | EXV r/w/c | M2TS r | PAGES r | SRW r/w
31
- ARW r/w | F4A/V r/w | M4A/V r/w | PBM r/w | SVG r
32
- ASF r | FFF r/w | MACOS r | PCD r | SWF r
33
- AVI r | FITS r | MAX r | PCX r | THM r/w
34
- AVIF r/w | FLA r | MEF r/w | PDB r | TIFF r/w
35
- AZW r | FLAC r | MIE r/w/ | PDF r/w | TORRENT r
36
- BMP r | FLIF r/w | MIFF r c | PEF r/w | TTC r
37
- BPG r | FLV r | MKA r | PFA r | TTF r
38
- BTF r | FPF r | MKS r | PFB r | TXT r
39
- CHM r | FPX r | MKV r | PFM r | VCF r
40
- COS r | GIF r/w | MNG r/w | PGF r | VRD r/w/c
41
- CR2 r/w | GPR r/w | MOBI r | PGM r/w | VSD r
42
- CR3 r/w | GZ r | MODD r | PLIST r | WAV r
43
- CRM r/w | HDP r/w | MOI r | PICT r | WDP r/w
44
- CRW r/w | HDR r | MOS r/w | PMP r | WEBP r
45
- CS1 r/w | HEIC r/w | MOV r/w | PNG r/w | WEBM r
46
- CSV r | HEIF r/w | MP3 r | PPM r/w | WMA r
47
- CZI r | HTML r | MP4 r/w | PPT r | WMV r
48
- DCM r | ICC r/w/c | MPC r | PPTX r | WTV r
49
- DCP r/w | ICS r | MPG r | PS r/w | WV r
50
- DCR r | IDML r | MPO r/w | PSB r/w | X3F r/w
51
- DFONT r | IIQ r/w | MQV r/w | PSD r/w | XCF r
52
- DIVX r | IND r/w | MRC r | PSP r | XLS r
53
- DJVU r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
54
- DLL r | INSV r | MXF r | R3D r | XMP r/w/c
55
- DNG r/w | INX r | NEF r/w | RA r | ZIP r
56
- DOC r | ISO r | NKSC r/w | RAF r/w |
57
- DOCX r | ITC r | NRW r/w | RAM r |
58
- DPX r | J2C r | NUMBERS r | RAR r |
17
+ 360 r/w | DPX r | ITC r | NRW r/w | RAM r
18
+ 3FR r | DR4 r/w/c | J2C r | NUMBERS r | RAR r
19
+ 3G2 r/w | DSS r | JNG r/w | O r | RAW r/w
20
+ 3GP r/w | DV r | JP2 r/w | ODP r | RIFF r
21
+ A r | DVB r/w | JPEG r/w | ODS r | RSRC r
22
+ AA r | DVR-MS r | JSON r | ODT r | RTF r
23
+ AAE r | DYLIB r | JXL r | OFR r | RW2 r/w
24
+ AAX r/w | EIP r | K25 r | OGG r | RWL r/w
25
+ ACR r | EPS r/w | KDC r | OGV r | RWZ r
26
+ AFM r | EPUB r | KEY r | ONP r | RM r
27
+ AI r/w | ERF r/w | LA r | OPUS r | SEQ r
28
+ AIFF r | EXE r | LFP r | ORF r/w | SKETCH r
29
+ APE r | EXIF r/w/c | LIF r | ORI r/w | SO r
30
+ ARQ r/w | EXR r | LNK r | OTF r | SR2 r/w
31
+ ARW r/w | EXV r/w/c | LRV r/w | PAC r | SRF r
32
+ ASF r | F4A/V r/w | M2TS r | PAGES r | SRW r/w
33
+ AVI r | FFF r/w | M4A/V r/w | PBM r/w | SVG r
34
+ AVIF r/w | FITS r | MACOS r | PCD r | SWF r
35
+ AZW r | FLA r | MAX r | PCX r | THM r/w
36
+ BMP r | FLAC r | MEF r/w | PDB r | TIFF r/w
37
+ BPG r | FLIF r/w | MIE r/w/c | PDF r/w | TORRENT r
38
+ BTF r | FLV r | MIFF r | PEF r/w | TTC r
39
+ CHM r | FPF r | MKA r | PFA r | TTF r
40
+ COS r | FPX r | MKS r | PFB r | TXT r
41
+ CR2 r/w | GIF r/w | MKV r | PFM r | VCF r
42
+ CR3 r/w | GPR r/w | MNG r/w | PGF r | VRD r/w/c
43
+ CRM r/w | GZ r | MOBI r | PGM r/w | VSD r
44
+ CRW r/w | HDP r/w | MODD r | PLIST r | WAV r
45
+ CS1 r/w | HDR r | MOI r | PICT r | WDP r/w
46
+ CSV r | HEIC r/w | MOS r/w | PMP r | WEBP r/w
47
+ CUR r | HEIF r/w | MOV r/w | PNG r/w | WEBM r
48
+ CZI r | HTML r | MP3 r | PPM r/w | WMA r
49
+ DCM r | ICC r/w/c | MP4 r/w | PPT r | WMV r
50
+ DCP r/w | ICO r | MPC r | PPTX r | WTV r
51
+ DCR r | ICS r | MPG r | PS r/w | WV r
52
+ DFONT r | IDML r | MPO r/w | PSB r/w | X3F r/w
53
+ DIVX r | IIQ r/w | MQV r/w | PSD r/w | XCF r
54
+ DJVU r | IND r/w | MRC r | PSP r | XLS r
55
+ DLL r | INSP r/w | MRW r/w | QTIF r/w | XLSX r
56
+ DNG r/w | INSV r | MXF r | R3D r | XMP r/w/c
57
+ DOC r | INX r | NEF r/w | RA r | ZIP r
58
+ DOCX r | ISO r | NKSC r/w | RAF r/w |
59
59
 
60
60
  Meta Information
61
61
  ----------------------+----------------------+---------------------
@@ -107,8 +107,8 @@ your home directory, then you would type the following commands in a
107
107
  terminal window to extract and run ExifTool:
108
108
 
109
109
  cd ~/Desktop
110
- gzip -dc Image-ExifTool-12.45.tar.gz | tar -xf -
111
- cd Image-ExifTool-12.45
110
+ gzip -dc Image-ExifTool-12.50.tar.gz | tar -xf -
111
+ cd Image-ExifTool-12.50
112
112
  ./exiftool t/images/ExifTool.jpg
113
113
 
114
114
  Note: These commands extract meta information from one of the test images.
@@ -199,6 +199,7 @@ distribution package:
199
199
  depthmap.config - Extract Google DepthMap images
200
200
  example.config - General example showing config features
201
201
  fotoware.config - Definitions for writing Fotoware XMP tags
202
+ frameCount.config - Extract FrameCount from MP4 videos
202
203
  gps2utm.config - Generate UTM coordinate tags from GPS info
203
204
  gpsdatetime.config - Make GPSDateTime from CreateDate+SampleTime
204
205
  nksc.config - Decode tags in Nikon ViewNX NKSC files
@@ -63,6 +63,7 @@
63
63
  # from original names to new names, for example
64
64
  # "RegionInfoACDSeeAppliedToDimensions*" -> "ACDSeeRegionAppliedToDimensions*"
65
65
  # "RegionInfoACDSeeRegionList* -> "ACDSeeRegion*"
66
+ # 2022/10/03 - PH Set group name properly to XMP-acdsee-rs
66
67
  #------------------------------------------------------------------------------
67
68
  use Data::Dumper;
68
69
 
@@ -211,7 +212,7 @@ my %sACDSeeRegionStruct = (
211
212
  );
212
213
 
213
214
  %Image::ExifTool::UserDefined::ACDSeeRegions = (
214
- GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee', 2 => 'Image' },
215
+ GROUPS => { 0 => 'XMP', 1 => 'XMP-acdsee-rs', 2 => 'Image' },
215
216
  NAMESPACE => { 'acdsee-rs' => 'http://ns.acdsee.com/regions/' },
216
217
  WRITABLE => 'string', # (default to string-type tags)
217
218
  Regions => {
@@ -0,0 +1,56 @@
1
+ #------------------------------------------------------------------------------
2
+ # File: frameCount.config
3
+ #
4
+ # Description: ExifTool config file to extract MP4 video FrameCount
5
+ #
6
+ # Usage: exiftool -config frameCount.config -frameCount FILE
7
+ #
8
+ # Requires: ExifTool version 7.99 or later
9
+ #
10
+ # Revisions: 2022-09-22 - P. Harvey Created
11
+ #
12
+ # Notes: Enables Unknown option to extract the required SampleSizes atom
13
+ #------------------------------------------------------------------------------
14
+
15
+ %Image::ExifTool::UserDefined = (
16
+ 'Image::ExifTool::Composite' => {
17
+ 'FrameCount' => {
18
+ Require => {
19
+ 0 => 'HandlerType',
20
+ },
21
+ Desire => {
22
+ 1 => 'SampleSizes',
23
+ 2 => 'CompactSampleSizes',
24
+ },
25
+ Groups => { 2 => 'Video' },
26
+ ValueConv => q{
27
+ my ($i, $tag, $ptr);
28
+ my $key = 'HandlerType';
29
+ # find video track number
30
+ for ($i=1; defined $val[0]; ++$i) {
31
+ last if $val[0] eq 'Video Track';
32
+ $key = "HandlerType ($i)";
33
+ $val[0] = $self->GetValue($key);
34
+ }
35
+ my $trk = $self->GetGroup($key, 1);
36
+ # search for SampleSizes or CompactSampleSizes for this track
37
+ foreach $tag ('SampleSizes', 'CompactSampleSizes') {
38
+ $key = $tag;
39
+ for ($i=1; ; ++$i) {
40
+ $ptr = $self->GetValue($key);
41
+ last unless $ptr;
42
+ last if $self->GetGroup($key, 1) eq $trk;
43
+ $key = "$tag ($i)";
44
+ }
45
+ last if $ptr;
46
+ }
47
+ return undef unless $ptr;
48
+ return unpack('x8N', $$ptr);
49
+ },
50
+ },
51
+ },
52
+ );
53
+
54
+ %Image::ExifTool::UserDefined::Options = (
55
+ Unknown => 1, # (otherwise SampleSizes won't be extracted)
56
+ );
@@ -113,7 +113,7 @@ sub has_defined {
113
113
  ],
114
114
  );
115
115
 
116
- # Must set undocumented SaveFormat option to provide access to the tag format types
116
+ # Must set SaveFormat option to provide access to the tag format types
117
117
  %Image::ExifTool::UserDefined::Options = (
118
118
  SaveFormat => 1,
119
119
  );