exiftool_vendored 11.78.0 → 11.79.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 002bfae07a986ad4c53d0ec12948e5eae4a60112
4
- data.tar.gz: 8c1b4f789d7fc5744b0cf77135e6c27939565069
3
+ metadata.gz: 9c5d7697ab503656431405bee98df6543291a04e
4
+ data.tar.gz: c85b5373e9273395de8f0eedf0ec75813f197568
5
5
  SHA512:
6
- metadata.gz: edb90b406c14e596ca4005de662522aa9ef065989fdccea63fd00043fd3ddb3a7f524be572ba5b640f4767ff22bb2fc0e8a5289083668426582bacf0fed1e2b3
7
- data.tar.gz: e4b6aecb8344c7cef4df16b9f51a836bbae2329b80037f862decef99bdabbd2e26653bf8224ab0dfa53dac53a07182200b687199a0d78b240269a81311e6fa3b
6
+ metadata.gz: 190d023af7d59ea2c41e2d43b2f252e8048bc3618d5e7e85e7bd0a6623ea9f2c85f0e010154a0bb49a2d9ca46acd4912415957e7eb88ed25011a9ae133bdad60
7
+ data.tar.gz: 05f098d6d3265adf42ea4669a554d84b55b6d1213fce9dbe31fb9df174298323d668b9cf86df1245bacb2b6ea370d4fc1e2a50d22a0be4b967b194a26f3888e6
data/bin/Changes CHANGED
@@ -7,6 +7,16 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 11.70. (Other versions are
8
8
  considered development releases, and are not uploaded to CPAN.)
9
9
 
10
+ Dec. 12, 2019 - Version 11.79
11
+
12
+ - Added support for AVIF files
13
+ - Added new Canon, Sigma and Sony LensType values (thanks LibRaw)
14
+ - Made PDF 2.0 writable at your own risk with the -m option
15
+ - Enhanced -validate feature to warn about duplicate languages in an XMP
16
+ lang-alt list
17
+ - Fixed inconsistency between documentation and ExifTool capabilities for
18
+ "Writable" status of some tags
19
+
10
20
  Dec. 5, 2019 - Version 11.78
11
21
 
12
22
  - Added a new Nikon LensID (thanks Chris)
data/bin/META.json CHANGED
@@ -47,6 +47,6 @@
47
47
  }
48
48
  },
49
49
  "release_status" : "stable",
50
- "version" : "11.78",
50
+ "version" : "11.79",
51
51
  "x_serialization_backend" : "JSON::PP version 4.02"
52
52
  }
data/bin/META.yml CHANGED
@@ -28,5 +28,5 @@ recommends:
28
28
  Time::HiRes: '0'
29
29
  requires:
30
30
  perl: '5.004'
31
- version: '11.78'
31
+ version: '11.79'
32
32
  x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
data/bin/README CHANGED
@@ -14,45 +14,46 @@ supported by ExifTool (r = read, w = write, c = create):
14
14
 
15
15
  File Types
16
16
  ------------+-------------+-------------+-------------+------------
17
- 3FR r | DSS r | J2C r | ODP r | RAW r/w
18
- 3G2 r/w | DV r | JNG r/w | ODS r | RIFF r
19
- 3GP r/w | DVB r/w | JP2 r/w | ODT r | RSRC r
20
- A r | DVR-MS r | JPEG r/w | OFR r | RTF r
21
- AA r | DYLIB r | JSON r | OGG r | RW2 r/w
22
- AAE r | EIP r | K25 r | OGV r | RWL r/w
23
- AAX r/w | EPS r/w | KDC r | OPUS r | RWZ r
24
- ACR r | EPUB r | KEY r | ORF r/w | RM r
25
- AFM r | ERF r/w | LA r | OTF r | SEQ r
26
- AI r/w | EXE r | LFP r | PAC r | SKETCH r
27
- AIFF r | EXIF r/w/c | LNK r | PAGES r | SO r
28
- APE r | EXR r | LRV r/w | PBM r/w | SR2 r/w
29
- ARQ r/w | EXV r/w/c | M2TS r | PCD r | SRF r
30
- ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | SRW r/w
31
- ASF r | FFF r/w | MAX r | PDB r | SVG r
32
- AVI r | FITS r | MEF r/w | PDF r/w | SWF r
33
- AZW r | FLA r | MIE r/w/c | PEF r/w | THM r/w
34
- BMP r | FLAC r | MIFF r | PFA r | TIFF r/w
35
- BPG r | FLIF r/w | MKA r | PFB r | TORRENT r
36
- BTF r | FLV r | MKS r | PFM r | TTC r
37
- CHM r | FPF r | MKV r | PGF r | TTF r
38
- COS r | FPX r | MNG r/w | PGM r/w | TXT r
39
- CR2 r/w | GIF r/w | MOBI r | PLIST r | VCF r
40
- CR3 r/w | GPR r/w | MODD r | PICT r | VRD r/w/c
41
- CRM r/w | GZ r | MOI r | PMP r | VSD r
42
- CRW r/w | HDP r/w | MOS r/w | PNG r/w | WAV r
43
- CS1 r/w | HDR r | MOV r/w | PPM r/w | WDP r/w
44
- DCM r | HEIC r/w | MP3 r | PPT r | WEBP r
45
- DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WEBM r
46
- DCR r | HTML r | MPC r | PS r/w | WMA r
47
- DFONT r | ICC r/w/c | MPG r | PSB r/w | WMV r
48
- DIVX r | ICS r | MPO r/w | PSD r/w | WTV r
49
- DJVU r | IDML r | MQV r/w | PSP r | WV r
50
- DLL r | IIQ r/w | MRW r/w | QTIF r/w | X3F r/w
51
- DNG r/w | IND r/w | MXF r | R3D r | XCF r
52
- DOC r | INSV r | NEF r/w | RA r | XLS r
53
- DOCX r | INX r | NRW r/w | RAF r/w | XLSX r
54
- DPX r | ISO r | NUMBERS r | RAM r | XMP r/w/c
55
- DR4 r/w/c | ITC r | O r | RAR r | ZIP r
17
+ 3FR r | DSS r | JNG r/w | ODT r | RTF r
18
+ 3G2 r/w | DV r | JP2 r/w | OFR r | RW2 r/w
19
+ 3GP r/w | DVB r/w | JPEG r/w | OGG r | RWL r/w
20
+ A r | DVR-MS r | JSON r | OGV r | RWZ r
21
+ AA r | DYLIB r | K25 r | OPUS r | RM r
22
+ AAE r | EIP r | KDC r | ORF r/w | SEQ r
23
+ AAX r/w | EPS r/w | KEY r | OTF r | SKETCH r
24
+ ACR r | EPUB r | LA r | PAC r | SO r
25
+ AFM r | ERF r/w | LFP r | PAGES r | SR2 r/w
26
+ AI r/w | EXE r | LNK r | PBM r/w | SRF r
27
+ AIFF r | EXIF r/w/c | LRV r/w | PCD r | SRW r/w
28
+ APE r | EXR r | M2TS r | PCX r | SVG r
29
+ ARQ r/w | EXV r/w/c | M4A/V r/w | PDB r | SWF r
30
+ ARW r/w | F4A/V r/w | MAX r | PDF r/w | THM r/w
31
+ ASF r | FFF r/w | MEF r/w | PEF r/w | TIFF r/w
32
+ AVI r | FITS r | MIE r/w/c | PFA r | TORRENT r
33
+ AVIF r/w | FLA r | MIFF r | PFB r | TTC r
34
+ AZW r | FLAC r | MKA r | PFM r | TTF r
35
+ BMP r | FLIF r/w | MKS r | PGF r | TXT r
36
+ BPG r | FLV r | MKV r | PGM r/w | VCF r
37
+ BTF r | FPF r | MNG r/w | PLIST r | VRD r/w/c
38
+ CHM r | FPX r | MOBI r | PICT r | VSD r
39
+ COS r | GIF r/w | MODD r | PMP r | WAV r
40
+ CR2 r/w | GPR r/w | MOI r | PNG r/w | WDP r/w
41
+ CR3 r/w | GZ r | MOS r/w | PPM r/w | WEBP r
42
+ CRM r/w | HDP r/w | MOV r/w | PPT r | WEBM r
43
+ CRW r/w | HDR r | MP3 r | PPTX r | WMA r
44
+ CS1 r/w | HEIC r/w | MP4 r/w | PS r/w | WMV r
45
+ DCM r | HEIF r/w | MPC r | PSB r/w | WTV r
46
+ DCP r/w | HTML r | MPG r | PSD r/w | WV r
47
+ DCR r | ICC r/w/c | MPO r/w | PSP r | X3F r/w
48
+ DFONT r | ICS r | MQV r/w | QTIF r/w | XCF r
49
+ DIVX r | IDML r | MRW r/w | R3D r | XLS r
50
+ DJVU r | IIQ r/w | MXF r | RA r | XLSX r
51
+ DLL r | IND r/w | NEF r/w | RAF r/w | XMP r/w/c
52
+ DNG r/w | INSV r | NRW r/w | RAM r | ZIP r
53
+ DOC r | INX r | NUMBERS r | RAR r |
54
+ DOCX r | ISO r | O r | RAW r/w |
55
+ DPX r | ITC r | ODP r | RIFF r |
56
+ DR4 r/w/c | J2C r | ODS r | RSRC r |
56
57
 
57
58
  Meta Information
58
59
  ----------------------+----------------------+---------------------
@@ -104,8 +105,8 @@ your home directory, then you would type the following commands in a
104
105
  terminal window to extract and run ExifTool:
105
106
 
106
107
  cd ~/Desktop
107
- gzip -dc Image-ExifTool-11.78.tar.gz | tar -xf -
108
- cd Image-ExifTool-11.78
108
+ gzip -dc Image-ExifTool-11.79.tar.gz | tar -xf -
109
+ cd Image-ExifTool-11.79
109
110
  ./exiftool t/images/ExifTool.jpg
110
111
 
111
112
  Note: These commands extract meta information from one of the test images.
data/bin/exiftool CHANGED
@@ -10,7 +10,7 @@
10
10
  use strict;
11
11
  require 5.004;
12
12
 
13
- my $version = '11.78';
13
+ my $version = '11.79';
14
14
 
15
15
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
16
16
  my $exeDir;
@@ -4288,45 +4288,46 @@ supported by ExifTool (r = read, w = write, c = create):
4288
4288
 
4289
4289
  File Types
4290
4290
  ------------+-------------+-------------+-------------+------------
4291
- 3FR r | DSS r | J2C r | ODP r | RAW r/w
4292
- 3G2 r/w | DV r | JNG r/w | ODS r | RIFF r
4293
- 3GP r/w | DVB r/w | JP2 r/w | ODT r | RSRC r
4294
- A r | DVR-MS r | JPEG r/w | OFR r | RTF r
4295
- AA r | DYLIB r | JSON r | OGG r | RW2 r/w
4296
- AAE r | EIP r | K25 r | OGV r | RWL r/w
4297
- AAX r/w | EPS r/w | KDC r | OPUS r | RWZ r
4298
- ACR r | EPUB r | KEY r | ORF r/w | RM r
4299
- AFM r | ERF r/w | LA r | OTF r | SEQ r
4300
- AI r/w | EXE r | LFP r | PAC r | SKETCH r
4301
- AIFF r | EXIF r/w/c | LNK r | PAGES r | SO r
4302
- APE r | EXR r | LRV r/w | PBM r/w | SR2 r/w
4303
- ARQ r/w | EXV r/w/c | M2TS r | PCD r | SRF r
4304
- ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | SRW r/w
4305
- ASF r | FFF r/w | MAX r | PDB r | SVG r
4306
- AVI r | FITS r | MEF r/w | PDF r/w | SWF r
4307
- AZW r | FLA r | MIE r/w/c | PEF r/w | THM r/w
4308
- BMP r | FLAC r | MIFF r | PFA r | TIFF r/w
4309
- BPG r | FLIF r/w | MKA r | PFB r | TORRENT r
4310
- BTF r | FLV r | MKS r | PFM r | TTC r
4311
- CHM r | FPF r | MKV r | PGF r | TTF r
4312
- COS r | FPX r | MNG r/w | PGM r/w | TXT r
4313
- CR2 r/w | GIF r/w | MOBI r | PLIST r | VCF r
4314
- CR3 r/w | GPR r/w | MODD r | PICT r | VRD r/w/c
4315
- CRM r/w | GZ r | MOI r | PMP r | VSD r
4316
- CRW r/w | HDP r/w | MOS r/w | PNG r/w | WAV r
4317
- CS1 r/w | HDR r | MOV r/w | PPM r/w | WDP r/w
4318
- DCM r | HEIC r/w | MP3 r | PPT r | WEBP r
4319
- DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WEBM r
4320
- DCR r | HTML r | MPC r | PS r/w | WMA r
4321
- DFONT r | ICC r/w/c | MPG r | PSB r/w | WMV r
4322
- DIVX r | ICS r | MPO r/w | PSD r/w | WTV r
4323
- DJVU r | IDML r | MQV r/w | PSP r | WV r
4324
- DLL r | IIQ r/w | MRW r/w | QTIF r/w | X3F r/w
4325
- DNG r/w | IND r/w | MXF r | R3D r | XCF r
4326
- DOC r | INSV r | NEF r/w | RA r | XLS r
4327
- DOCX r | INX r | NRW r/w | RAF r/w | XLSX r
4328
- DPX r | ISO r | NUMBERS r | RAM r | XMP r/w/c
4329
- DR4 r/w/c | ITC r | O r | RAR r | ZIP r
4291
+ 3FR r | DSS r | JNG r/w | ODT r | RTF r
4292
+ 3G2 r/w | DV r | JP2 r/w | OFR r | RW2 r/w
4293
+ 3GP r/w | DVB r/w | JPEG r/w | OGG r | RWL r/w
4294
+ A r | DVR-MS r | JSON r | OGV r | RWZ r
4295
+ AA r | DYLIB r | K25 r | OPUS r | RM r
4296
+ AAE r | EIP r | KDC r | ORF r/w | SEQ r
4297
+ AAX r/w | EPS r/w | KEY r | OTF r | SKETCH r
4298
+ ACR r | EPUB r | LA r | PAC r | SO r
4299
+ AFM r | ERF r/w | LFP r | PAGES r | SR2 r/w
4300
+ AI r/w | EXE r | LNK r | PBM r/w | SRF r
4301
+ AIFF r | EXIF r/w/c | LRV r/w | PCD r | SRW r/w
4302
+ APE r | EXR r | M2TS r | PCX r | SVG r
4303
+ ARQ r/w | EXV r/w/c | M4A/V r/w | PDB r | SWF r
4304
+ ARW r/w | F4A/V r/w | MAX r | PDF r/w | THM r/w
4305
+ ASF r | FFF r/w | MEF r/w | PEF r/w | TIFF r/w
4306
+ AVI r | FITS r | MIE r/w/c | PFA r | TORRENT r
4307
+ AVIF r/w | FLA r | MIFF r | PFB r | TTC r
4308
+ AZW r | FLAC r | MKA r | PFM r | TTF r
4309
+ BMP r | FLIF r/w | MKS r | PGF r | TXT r
4310
+ BPG r | FLV r | MKV r | PGM r/w | VCF r
4311
+ BTF r | FPF r | MNG r/w | PLIST r | VRD r/w/c
4312
+ CHM r | FPX r | MOBI r | PICT r | VSD r
4313
+ COS r | GIF r/w | MODD r | PMP r | WAV r
4314
+ CR2 r/w | GPR r/w | MOI r | PNG r/w | WDP r/w
4315
+ CR3 r/w | GZ r | MOS r/w | PPM r/w | WEBP r
4316
+ CRM r/w | HDP r/w | MOV r/w | PPT r | WEBM r
4317
+ CRW r/w | HDR r | MP3 r | PPTX r | WMA r
4318
+ CS1 r/w | HEIC r/w | MP4 r/w | PS r/w | WMV r
4319
+ DCM r | HEIF r/w | MPC r | PSB r/w | WTV r
4320
+ DCP r/w | HTML r | MPG r | PSD r/w | WV r
4321
+ DCR r | ICC r/w/c | MPO r/w | PSP r | X3F r/w
4322
+ DFONT r | ICS r | MQV r/w | QTIF r/w | XCF r
4323
+ DIVX r | IDML r | MRW r/w | R3D r | XLS r
4324
+ DJVU r | IIQ r/w | MXF r | RA r | XLSX r
4325
+ DLL r | IND r/w | NEF r/w | RAF r/w | XMP r/w/c
4326
+ DNG r/w | INSV r | NRW r/w | RAM r | ZIP r
4327
+ DOC r | INX r | NUMBERS r | RAR r |
4328
+ DOCX r | ISO r | O r | RAW r/w |
4329
+ DPX r | ITC r | ODP r | RIFF r |
4330
+ DR4 r/w/c | J2C r | ODS r | RSRC r |
4330
4331
 
4331
4332
  Meta Information
4332
4333
  ----------------------+----------------------+---------------------
@@ -5179,7 +5180,7 @@ with this command:
5179
5180
 
5180
5181
  produces output like this:
5181
5182
 
5182
- -- Generated by ExifTool 11.78 --
5183
+ -- Generated by ExifTool 11.79 --
5183
5184
  File: a.jpg - 2003:10:31 15:44:19
5184
5185
  (f/5.6, 1/60s, ISO 100)
5185
5186
  File: b.jpg - 2006:05:23 11:57:38
@@ -5586,8 +5587,8 @@ substantial speed benefits, B<-fast2> also causes exiftool to avoid
5586
5587
  extracting any EXIF MakerNote information. B<-fast3> avoids extracting
5587
5588
  metadata from the file, and returns only pseudo System tags, but still reads
5588
5589
  the file header to obtain an educated guess at FileType. B<-fast4> doesn't
5589
- even read the file header, and determines FileType based only on the file
5590
- extension. Has no effect when writing.
5590
+ even read the file header, and returns only System tags and a FileType based
5591
+ on the file extension. Has no effect when writing.
5591
5592
 
5592
5593
  Note that a separate B<-fast> setting may be used for evaluation of a B<-if>
5593
5594
  condition, or when ordering files with the B<-fileOrder> option. See the
@@ -27,7 +27,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
27
27
  %mimeType $swapBytes $swapWords $currentByteOrder %unpackStd
28
28
  %jpegMarker %specialTags %fileTypeLookup $testLen);
29
29
 
30
- $VERSION = '11.78';
30
+ $VERSION = '11.79';
31
31
  $RELEASE = '';
32
32
  @ISA = qw(Exporter);
33
33
  %EXPORT_TAGS = (
@@ -235,6 +235,7 @@ my %createTypes = map { $_ => 1 } qw(XMP ICC MIE VRD DR4 EXIF EXV);
235
235
  ASF => ['ASF', 'Microsoft Advanced Systems Format'],
236
236
  AVC => ['AVC', 'Advanced Video Connection'], # (extensions are actually _AU,_AD,_IM,_ID)
237
237
  AVI => ['RIFF', 'Audio Video Interleaved'],
238
+ AVIF => ['MOV', 'AV1 Image File Format'],
238
239
  AZW => 'MOBI', # (see http://wiki.mobileread.com/wiki/AZW)
239
240
  AZW3 => 'MOBI',
240
241
  BMP => ['BMP', 'Windows Bitmap'],
@@ -65,45 +65,46 @@ supported by ExifTool (r = read, w = write, c = create):
65
65
 
66
66
  File Types
67
67
  ------------+-------------+-------------+-------------+------------
68
- 3FR r | DSS r | J2C r | ODP r | RAW r/w
69
- 3G2 r/w | DV r | JNG r/w | ODS r | RIFF r
70
- 3GP r/w | DVB r/w | JP2 r/w | ODT r | RSRC r
71
- A r | DVR-MS r | JPEG r/w | OFR r | RTF r
72
- AA r | DYLIB r | JSON r | OGG r | RW2 r/w
73
- AAE r | EIP r | K25 r | OGV r | RWL r/w
74
- AAX r/w | EPS r/w | KDC r | OPUS r | RWZ r
75
- ACR r | EPUB r | KEY r | ORF r/w | RM r
76
- AFM r | ERF r/w | LA r | OTF r | SEQ r
77
- AI r/w | EXE r | LFP r | PAC r | SKETCH r
78
- AIFF r | EXIF r/w/c | LNK r | PAGES r | SO r
79
- APE r | EXR r | LRV r/w | PBM r/w | SR2 r/w
80
- ARQ r/w | EXV r/w/c | M2TS r | PCD r | SRF r
81
- ARW r/w | F4A/V r/w | M4A/V r/w | PCX r | SRW r/w
82
- ASF r | FFF r/w | MAX r | PDB r | SVG r
83
- AVI r | FITS r | MEF r/w | PDF r/w | SWF r
84
- AZW r | FLA r | MIE r/w/c | PEF r/w | THM r/w
85
- BMP r | FLAC r | MIFF r | PFA r | TIFF r/w
86
- BPG r | FLIF r/w | MKA r | PFB r | TORRENT r
87
- BTF r | FLV r | MKS r | PFM r | TTC r
88
- CHM r | FPF r | MKV r | PGF r | TTF r
89
- COS r | FPX r | MNG r/w | PGM r/w | TXT r
90
- CR2 r/w | GIF r/w | MOBI r | PLIST r | VCF r
91
- CR3 r/w | GPR r/w | MODD r | PICT r | VRD r/w/c
92
- CRM r/w | GZ r | MOI r | PMP r | VSD r
93
- CRW r/w | HDP r/w | MOS r/w | PNG r/w | WAV r
94
- CS1 r/w | HDR r | MOV r/w | PPM r/w | WDP r/w
95
- DCM r | HEIC r/w | MP3 r | PPT r | WEBP r
96
- DCP r/w | HEIF r/w | MP4 r/w | PPTX r | WEBM r
97
- DCR r | HTML r | MPC r | PS r/w | WMA r
98
- DFONT r | ICC r/w/c | MPG r | PSB r/w | WMV r
99
- DIVX r | ICS r | MPO r/w | PSD r/w | WTV r
100
- DJVU r | IDML r | MQV r/w | PSP r | WV r
101
- DLL r | IIQ r/w | MRW r/w | QTIF r/w | X3F r/w
102
- DNG r/w | IND r/w | MXF r | R3D r | XCF r
103
- DOC r | INSV r | NEF r/w | RA r | XLS r
104
- DOCX r | INX r | NRW r/w | RAF r/w | XLSX r
105
- DPX r | ISO r | NUMBERS r | RAM r | XMP r/w/c
106
- DR4 r/w/c | ITC r | O r | RAR r | ZIP r
68
+ 3FR r | DSS r | JNG r/w | ODT r | RTF r
69
+ 3G2 r/w | DV r | JP2 r/w | OFR r | RW2 r/w
70
+ 3GP r/w | DVB r/w | JPEG r/w | OGG r | RWL r/w
71
+ A r | DVR-MS r | JSON r | OGV r | RWZ r
72
+ AA r | DYLIB r | K25 r | OPUS r | RM r
73
+ AAE r | EIP r | KDC r | ORF r/w | SEQ r
74
+ AAX r/w | EPS r/w | KEY r | OTF r | SKETCH r
75
+ ACR r | EPUB r | LA r | PAC r | SO r
76
+ AFM r | ERF r/w | LFP r | PAGES r | SR2 r/w
77
+ AI r/w | EXE r | LNK r | PBM r/w | SRF r
78
+ AIFF r | EXIF r/w/c | LRV r/w | PCD r | SRW r/w
79
+ APE r | EXR r | M2TS r | PCX r | SVG r
80
+ ARQ r/w | EXV r/w/c | M4A/V r/w | PDB r | SWF r
81
+ ARW r/w | F4A/V r/w | MAX r | PDF r/w | THM r/w
82
+ ASF r | FFF r/w | MEF r/w | PEF r/w | TIFF r/w
83
+ AVI r | FITS r | MIE r/w/c | PFA r | TORRENT r
84
+ AVIF r/w | FLA r | MIFF r | PFB r | TTC r
85
+ AZW r | FLAC r | MKA r | PFM r | TTF r
86
+ BMP r | FLIF r/w | MKS r | PGF r | TXT r
87
+ BPG r | FLV r | MKV r | PGM r/w | VCF r
88
+ BTF r | FPF r | MNG r/w | PLIST r | VRD r/w/c
89
+ CHM r | FPX r | MOBI r | PICT r | VSD r
90
+ COS r | GIF r/w | MODD r | PMP r | WAV r
91
+ CR2 r/w | GPR r/w | MOI r | PNG r/w | WDP r/w
92
+ CR3 r/w | GZ r | MOS r/w | PPM r/w | WEBP r
93
+ CRM r/w | HDP r/w | MOV r/w | PPT r | WEBM r
94
+ CRW r/w | HDR r | MP3 r | PPTX r | WMA r
95
+ CS1 r/w | HEIC r/w | MP4 r/w | PS r/w | WMV r
96
+ DCM r | HEIF r/w | MPC r | PSB r/w | WTV r
97
+ DCP r/w | HTML r | MPG r | PSD r/w | WV r
98
+ DCR r | ICC r/w/c | MPO r/w | PSP r | X3F r/w
99
+ DFONT r | ICS r | MQV r/w | QTIF r/w | XCF r
100
+ DIVX r | IDML r | MRW r/w | R3D r | XLS r
101
+ DJVU r | IIQ r/w | MXF r | RA r | XLSX r
102
+ DLL r | IND r/w | NEF r/w | RAF r/w | XMP r/w/c
103
+ DNG r/w | INSV r | NRW r/w | RAM r | ZIP r
104
+ DOC r | INX r | NUMBERS r | RAR r |
105
+ DOCX r | ISO r | O r | RAW r/w |
106
+ DPX r | ITC r | ODP r | RIFF r |
107
+ DR4 r/w/c | J2C r | ODS r | RSRC r |
107
108
 
108
109
  Meta Information
109
110
  ----------------------+----------------------+---------------------
@@ -113,6 +113,7 @@ my %formatOK = (
113
113
  %Image::ExifTool::Exif::formatNumber,
114
114
  0 => 1,
115
115
  1 => 1,
116
+ 2 => 1, # (writable for docs only)
116
117
  real => 1,
117
118
  integer => 1,
118
119
  date => 1,
@@ -943,6 +944,10 @@ TagID: foreach $tagID (@keys) {
943
944
  } elsif (not $$tagInfo{SubDirectory}) {
944
945
  $writable = $$table{WRITABLE};
945
946
  }
947
+ # in general, we can't write unless we have a WRITE_PROC
948
+ if ($writable and not ($$table{WRITE_PROC} or $tableName =~ /Shortcuts/ or $writable eq '2')) {
949
+ undef $writable;
950
+ }
946
951
  # validate some characteristics of obvious date/time tags
947
952
  my @g = $et->GetGroup($tagInfo);
948
953
  if ($$tagInfo{List} and $g[2] eq 'Time' and $writable and not $$tagInfo{Protected} and
@@ -1260,16 +1265,20 @@ TagID: foreach $tagID (@keys) {
1260
1265
  }
1261
1266
  }
1262
1267
  if ($subdir and not $$tagInfo{SeparateTable}) {
1263
- # subdirectories are only writable if specified explicitly
1264
- my $tw = $$tagInfo{Writable};
1265
- $writable = 'yes' if $tw and $writable eq '1';
1266
- $writable = '-' . ($tw ? $writable : '');
1267
- $writable .= '!' if $tw and ($$tagInfo{Protected} || 0) & 0x01;
1268
- $writable .= '+' if $$tagInfo{List};
1269
- if (defined $$tagInfo{Permanent}) {
1270
- $writable .= '^' unless $$tagInfo{Permanent};
1271
- } elsif (defined $$table{PERMANENT}) {
1272
- $writable .= '^' unless $$table{PERMANENT};
1268
+ if ($writable) {
1269
+ # subdirectories are only writable if specified explicitly
1270
+ my $tw = $$tagInfo{Writable};
1271
+ $writable = 'yes' if $tw and $writable eq '1' or $writable eq '2';
1272
+ $writable = '-' . ($tw ? $writable : '');
1273
+ $writable .= '!' if $tw and ($$tagInfo{Protected} || 0) & 0x01;
1274
+ $writable .= '+' if $$tagInfo{List};
1275
+ if (defined $$tagInfo{Permanent}) {
1276
+ $writable .= '^' unless $$tagInfo{Permanent};
1277
+ } elsif (defined $$table{PERMANENT}) {
1278
+ $writable .= '^' unless $$table{PERMANENT};
1279
+ }
1280
+ } else {
1281
+ $writable = '-';
1273
1282
  }
1274
1283
  } else {
1275
1284
  # not writable if we can't do the inverse conversions
@@ -1290,7 +1299,7 @@ TagID: foreach $tagID (@keys) {
1290
1299
  if (not $writable) {
1291
1300
  $writable = 'no';
1292
1301
  } else {
1293
- $writable eq '1' and $writable = $format ? $format : 'yes';
1302
+ $writable = $format ? $format : 'yes' if $writable eq '1' or $writable eq '2';
1294
1303
  my $count = $$tagInfo{Count} || 1;
1295
1304
  # adjust count to Writable size if different than Format
1296
1305
  if ($writable and $format and $writable ne $format and
@@ -88,7 +88,7 @@ sub ProcessCTMD($$$);
88
88
  sub ProcessExifInfo($$$);
89
89
  sub SwapWords($);
90
90
 
91
- $VERSION = '4.28';
91
+ $VERSION = '4.29';
92
92
 
93
93
  # Note: Removed 'USM' from 'L' lenses since it is redundant - PH
94
94
  # (or is it? Ref 32 shows 5 non-USM L-type lenses)
@@ -220,7 +220,8 @@ $VERSION = '4.28';
220
220
  112 => 'Sigma 28mm f/1.5 FF High-speed Prime or other Sigma Lens', #IB
221
221
  112.1 => 'Sigma 40mm f/1.5 FF High-speed Prime', #IB
222
222
  112.2 => 'Sigma 105mm f/1.5 FF High-speed Prime', #IB
223
- 117 => 'Tamron 35-150mm f/2.8-4.0 Di VC OSD', #IB (A043)
223
+ 117 => 'Tamron 35-150mm f/2.8-4.0 Di VC OSD or other Tamron Lens', #IB (A043)
224
+ 117.1 => 'Tamron SP 35mm f/1.4 Di USD', #https://github.com/Exiv2/exiv2/issues/1064
224
225
  124 => 'Canon MP-E 65mm f/2.8 1-5x Macro Photo', #9
225
226
  125 => 'Canon TS-E 24mm f/3.5L',
226
227
  126 => 'Canon TS-E 45mm f/2.8', #15
@@ -20,7 +20,7 @@ use strict;
20
20
  use vars qw($VERSION);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
 
23
- $VERSION = '1.16';
23
+ $VERSION = '1.17';
24
24
 
25
25
  # road map of directory locations in GIF images
26
26
  my %gifMap = (
@@ -42,7 +42,7 @@ my %gifMap = (
42
42
  Comment => {
43
43
  # for documentation only -- flag as writable for the docs, but
44
44
  # it won't appear in the TagLookup because there is no WRITE_PROC
45
- Writable => 1,
45
+ Writable => 2,
46
46
  },
47
47
  Duration => {
48
48
  Notes => 'duration of a single animation iteration',
@@ -67,12 +67,12 @@ my %gifMap = (
67
67
  'XMP Data/XMP' => { #2
68
68
  Name => 'XMP',
69
69
  IncludeLengthBytes => 1, # length bytes are included in the data
70
- Writable => 1,
70
+ Writable => 2,
71
71
  SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
72
72
  },
73
73
  'ICCRGBG1/012' => { #4
74
74
  Name => 'ICC_Profile',
75
- Writable => 1,
75
+ Writable => 2,
76
76
  SubDirectory => { TagTable => 'Image::ExifTool::ICC_Profile::Main' },
77
77
  },
78
78
  'MIDICTRL/Jon' => { #5