exiftool_vendored 11.78.0 → 11.79.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of exiftool_vendored might be problematic. Click here for more details.

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