exiftool_vendored 12.80.0 → 12.81.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -15,7 +15,7 @@ package Image::ExifTool::NikonCustom;
15
15
  use strict;
16
16
  use vars qw($VERSION @ISA @EXPORT_OK %buttonsZ9);
17
17
 
18
- $VERSION = '1.24';
18
+ $VERSION = '1.25';
19
19
 
20
20
  @ISA = qw(Exporter);
21
21
  @EXPORT_OK = qw(%buttonsZ9);
@@ -77,6 +77,7 @@ $VERSION = '1.24';
77
77
  66 => 'Voice Memo',
78
78
  70 => 'Photo Shooting Bank',
79
79
  71 => 'ISO',
80
+ 72 => 'Shooting Mode',
80
81
  73 => 'Exposure Compensation',
81
82
  76 => 'Silent Mode',
82
83
  78 => 'LiveView Information',
@@ -90,6 +91,9 @@ $VERSION = '1.24';
90
91
  86 => 'Save Focus Position',
91
92
  87 => 'Recall Focus Position',
92
93
  88 => 'Recall Shooting Functions (Hold)',
94
+ 89 => 'Set Picture Control (HLG)',
95
+ 90 => 'Skin Softening',
96
+ 91 => 'Portrait Impression Balance',
93
97
  97 => 'High Frequency Flicker Reduction',
94
98
  98 => 'Switch FX/DX',
95
99
  99 => 'View Mode (Photo LV)',
@@ -104,7 +108,25 @@ $VERSION = '1.24';
104
108
  110 => 'DISP - Cycle Information Display (playback)', # Playback mode
105
109
  111 => 'Resume Shooting',
106
110
  112 => 'Switch Eyes',
111
+ 113 => 'Power Zoom +',
112
+ 114 => 'Power Zoom -',
107
113
  115 => 'Delete',
114
+ 116 => 'Pixel Shift Shooting',
115
+ 117 => 'Cycle AF-area Mode',
116
+ 118 => 'Raw Processing (Current)', #118-131 are Retouch options
117
+ 119 => 'Raw Processing (Multiple)',
118
+ 120 => 'Trim',
119
+ 121 => 'Resize (Current)',
120
+ 122 => 'Resize (Multiple)',
121
+ 123 => 'D-Lighting',
122
+ 124 => 'Straighten',
123
+ 125 => 'Distortion Control',
124
+ 126 => 'Perspective Control',
125
+ 127 => 'Monochrome',
126
+ 128 => 'Overlay (Add)',
127
+ 129 => 'Lighten',
128
+ 130 => 'Darken',
129
+ 131 => 'Motion Blend',
108
130
  },
109
131
  );
110
132
  my %dialsZ9 = (
@@ -118,6 +140,18 @@ my %dialsZ9 = (
118
140
  7 => 'Rating',
119
141
  8 => 'Page',
120
142
  9 => 'Skip To First Shot In Series',
143
+ 10 => 'Uploaded to FTP',
144
+ 11 => 'Uploaded to Computer',
145
+ );
146
+ my %dialsVideoZ9 = (
147
+ 0 => '2 s',
148
+ 1 => '5 s',
149
+ 2 => '10 s',
150
+ 3 => '1 Frame',
151
+ 4 => '5 Frames',
152
+ 5 => '10 Frames',
153
+ 6 => 'First/Last Frame',
154
+ 7 => 'Playback Speed',
121
155
  );
122
156
  my %evfGridsZ9 = (
123
157
  0 => '3x3',
@@ -9974,6 +10008,9 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9974
10008
  421 => { Name => 'Func1ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-a
9975
10009
  423 => { Name => 'Func2ButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-b
9976
10010
  437 => { Name => 'MovieRecordButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-m
10011
+ 453 => { Name => 'WBButtonPlaybackMode', %buttonsZ9}, #CSf2
10012
+ 461 => { Name => 'CommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
10013
+ 465 => { Name => 'SubCommandDialVideoPlaybackMode', PrintConv => \%dialsVideoZ9, Unknown => 1}, # CSf3-b
9977
10014
  467 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
9978
10015
  459 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
9979
10016
  463 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
@@ -10055,6 +10092,11 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10055
10092
  },
10056
10093
  681 => { Name => 'ViewModeShowEffectsOfSettings', PrintConv => { 0=>'Always', 1=> 'Only When Flash Not Used'}, Unknown => 1 }, #CS8-a
10057
10094
  683 => { Name => 'DispButton', %buttonsZ9}, #CSf2
10095
+ 753 => { #CSd5
10096
+ Name => 'ExposureDelay',
10097
+ Format => 'int16u',
10098
+ PrintConv => '$val ? sprintf("%.1f sec",$val/1000) : "Off"',
10099
+ },
10058
10100
  );
10059
10101
 
10060
10102
  # Z9 custom settings (ref 1) #base at offset26 + 1035 (firmware 1.0.0)
@@ -10806,7 +10848,19 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10806
10848
  471 => { Name => 'QualityButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-h
10807
10849
  477 => { Name => 'WhiteBalanceButtonPlaybackMode', %buttonsZ9, Unknown => 1}, # CSf3-i
10808
10850
  483 => { Name => 'CommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-k
10851
+ 485 => { # CSf3-m2
10852
+ Name => 'CommandDialVideoPlaybackMode',
10853
+ Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
10854
+ PrintConv => \%dialsVideoZ9,
10855
+ Unknown => 1
10856
+ },
10809
10857
  487 => { Name => 'SubCommandDialPlaybackMode', PrintConv => \%dialsZ9, Unknown => 1}, # CSf3-l
10858
+ 489 => { # CSf3-n2
10859
+ Name => 'SubCommandDialVideoPlaybackMode',
10860
+ Condition => '$$self{FirmwareVersion} and $$self{FirmwareVersion} ge "05.00"',
10861
+ PrintConv => \%dialsVideoZ9,
10862
+ Unknown => 1
10863
+ },
10810
10864
  491 => { Name => 'FocusPointLock', PrintConv => \%offOn, Unknown => 1}, # CSf4-c
10811
10865
  493 => { Name => 'ControlRingResponse', PrintConv => { 0 => 'High', 1 => 'Low' } }, # CSf10
10812
10866
  505 => { Name => 'VerticalMovieFuncButton', %buttonsZ9, Unknown => 1}, # CSg2-d
@@ -197,6 +197,7 @@ my %olympusLensTypes = (
197
197
  # '65535 07 40' - Seen for LUMIX S 16-35/F4 on Panasonic DC-S1H (ref PH)
198
198
  # Other makes
199
199
  '24 01 10' => 'Venus Optics Laowa 50mm F2.8 2x Macro', #DonKomarechka
200
+ 'f7 03 10' => 'LAOWA C&D-Dreamer MFT 7.5mm F2.0', #forum3833
200
201
  );
201
202
 
202
203
  # lookup for Olympus camera types (ref PH)
@@ -16,7 +16,7 @@ use vars qw($VERSION);
16
16
  use Image::ExifTool qw(:DataAccess :Utils);
17
17
  use Image::ExifTool::GPS;
18
18
 
19
- $VERSION = '1.05';
19
+ $VERSION = '1.06';
20
20
 
21
21
  # supported EXR value format types (other types are extracted as undef binary data)
22
22
  my %formatType = (
@@ -154,6 +154,19 @@ my %formatType = (
154
154
  type => { },
155
155
  version => { },
156
156
  chunkCount => { },
157
+ # exif and xmp written by PanoramaStudio4.0.2Pro
158
+ exif => {
159
+ Name => 'EXIF',
160
+ SubDirectory => {
161
+ TagTable => 'Image::ExifTool::Exif::Main',
162
+ ProcessProc => \&Image::ExifTool::ProcessTIFF,
163
+ Start => 4, # (skip leading 4 bytes with data length)
164
+ },
165
+ },
166
+ xmp => {
167
+ Name => 'XMP',
168
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::Main' },
169
+ },
157
170
  # also observed:
158
171
  # ilut
159
172
  );
@@ -221,9 +234,14 @@ sub ProcessEXR($$)
221
234
  }
222
235
  my ($val, $success, $buf2);
223
236
  my $format = $formatType{$type};
224
- if ($format or $binary) {
237
+ my $subdir = $$tagInfo{SubDirectory};
238
+ if ($format or $binary or $subdir) {
225
239
  $raf->Read($buf2, $size) == $size and $success = 1;
226
- if (not $format) {
240
+ if ($subdir) {
241
+ $et->HandleTag($tagTablePtr, $tag, undef,
242
+ DataPt => \$buf2, DataPos => $raf->Tell() - length($buf2));
243
+ next if $success;
244
+ } elsif (not $format) {
227
245
  $val = \$buf2; # treat as undef binary data
228
246
  } elsif ($format ne '1') {
229
247
  # handle formats which map nicely into ExifTool format codes
@@ -36,7 +36,7 @@ use strict;
36
36
  use vars qw($VERSION $AUTOLOAD %stdCase);
37
37
  use Image::ExifTool qw(:DataAccess :Utils);
38
38
 
39
- $VERSION = '1.66';
39
+ $VERSION = '1.67';
40
40
 
41
41
  sub ProcessPNG_tEXt($$$);
42
42
  sub ProcessPNG_iTXt($$$);
@@ -642,8 +642,8 @@ my %unreg = ( Notes => 'unregistered' );
642
642
  Label => { %unreg },
643
643
  Make => { %unreg, Groups => { 2 => 'Camera' } },
644
644
  Model => { %unreg, Groups => { 2 => 'Camera' } },
645
- # parameters (written by Stable Diffusion)
646
- # aesthetic_score (written by Stable Diffusion)
645
+ parameters => { %unreg }, # (written by Stable Diffusion)
646
+ aesthetic_score => { Name => 'AestheticScore', %unreg }, # (written by Stable Diffusion)
647
647
  'create-date'=> {
648
648
  Name => 'CreateDate',
649
649
  Groups => { 2 => 'Time' },
@@ -6728,7 +6728,7 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6728
6728
  %Image::ExifTool::QuickTime::iTunesInfo = (
6729
6729
  PROCESS_PROC => \&ProcessMOV,
6730
6730
  GROUPS => { 1 => 'iTunes', 2 => 'Audio' },
6731
- VARS => { LONG_TAGS => 0 }, # (hack for discrepancy in the way long tags are counted in BuildTagLookup)
6731
+ VARS => { LONG_TAGS => 1 }, # (hack for discrepancy in the way long tags are counted in BuildTagLookup)
6732
6732
  NOTES => q{
6733
6733
  ExifTool will extract any iTunesInfo tags that exist, even if they are not
6734
6734
  defined in this table. These tags belong to the family 1 "iTunes" group,
@@ -6804,6 +6804,17 @@ my %isImageData = ( av01 => 1, avc1 => 1, hvc1 => 1, lhv1 => 1, hvt1 => 1 );
6804
6804
  BARCODE => 'Barcode',
6805
6805
  LABEL => 'Label',
6806
6806
  MOOD => 'Mood',
6807
+ DIRECTOR => 'Director',
6808
+ DIRECTOR_OF_PHOTOGRAPHY => 'DirectorOfPhotography',
6809
+ PRODUCTION_DESIGNER => 'ProductionDesigner',
6810
+ COSTUME_DESIGNER => 'CostumeDesigner',
6811
+ SCREENPLAY_BY => 'ScreenplayBy',
6812
+ EDITED_BY => 'EditedBy',
6813
+ PRODUCER => 'Producer',
6814
+ IMDB_ID => { },
6815
+ TMDB_ID => { },
6816
+ Actors => { },
6817
+ TIPL => { },
6807
6818
  popularimeter => 'Popularimeter',
6808
6819
  'Dynamic Range (DR)'=> 'DynamicRange',
6809
6820
  initialkey => 'InitialKey',
@@ -109,7 +109,7 @@ my %insvLimit = (
109
109
  The tags below are extracted from timed metadata in QuickTime and other
110
110
  formats of video files when the ExtractEmbedded option is used. Although
111
111
  most of these tags are combined into the single table below, ExifTool
112
- currently reads 71 different formats of timed GPS metadata from video files.
112
+ currently reads 72 different formats of timed GPS metadata from video files.
113
113
  },
114
114
  VARS => { NO_ID => 1 },
115
115
  GPSLatitude => { PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "N")', RawConv => '$$self{FoundGPSLatitude} = 1; $val' },
@@ -10553,7 +10553,7 @@ my %isoSetting2010 = (
10553
10553
  ValueConv => '2 ** (8-$val/8192)',
10554
10554
  PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
10555
10555
  },
10556
- 0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk },
10556
+ 0x8001 => { Name => 'Sony_rtmd_0x8001', Format => 'int16u', %hidUnk }, # (perhaps related to focus distance? forum15856)
10557
10557
  0x8004 => { Name => 'Sony_rtmd_0x8004', Format => 'int16u', %hidUnk }, # (FocalLength35efl?, forum14315)
10558
10558
  0x8005 => { Name => 'Sony_rtmd_0x8005', Format => 'int16u', %hidUnk }, # (FocalLength?, forum14315)
10559
10559
  0x800a => { Name => 'Sony_rtmd_0x800a', Format => 'int16u', %hidUnk }, # (FocusRingPosition?, forum14315)