Minolta.pm (Image-ExifTool-12.57) | : | Minolta.pm (Image-ExifTool-12.58) | ||
---|---|---|---|---|
skipping to change at line 52 | skipping to change at line 52 | |||
#------------------------------------------------------------------------------ | #------------------------------------------------------------------------------ | |||
package Image::ExifTool::Minolta; | package Image::ExifTool::Minolta; | |||
use strict; | use strict; | |||
use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode | use vars qw($VERSION %minoltaLensTypes %minoltaTeleconverters %minoltaColorMode | |||
%sonyColorMode %minoltaSceneMode %afStatusInfo %metabonesID); | %sonyColorMode %minoltaSceneMode %afStatusInfo %metabonesID); | |||
use Image::ExifTool qw(:DataAccess :Utils); | use Image::ExifTool qw(:DataAccess :Utils); | |||
use Image::ExifTool::Exif; | use Image::ExifTool::Exif; | |||
$VERSION = '2.87'; | $VERSION = '2.88'; | |||
# Full list of product codes for Sony-compatible Minolta lenses | # Full list of product codes for Sony-compatible Minolta lenses | |||
# (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570) | # (ref http://www.kb.sony.com/selfservice/documentLink.do?externalId=C1000570) | |||
# NOTE: Unfortunately, these product codes sometimes do not match the first 4 | # NOTE: Unfortunately, these product codes sometimes do not match the first 4 | |||
# digits of the lens ID | # digits of the lens ID | |||
# 2578 AF 16mm F2.8 FISH-EYE | # 2578 AF 16mm F2.8 FISH-EYE | |||
# 2579 AF 20mm F2.8 | # 2579 AF 20mm F2.8 | |||
# 2641 AF 20mm F2.8 NEW | # 2641 AF 20mm F2.8 NEW | |||
# 2566 AF 24mm F2.8 | # 2566 AF 24mm F2.8 | |||
# 2642 AF 24mm F2.8 NEW | # 2642 AF 24mm F2.8 NEW | |||
skipping to change at line 182 | skipping to change at line 182 | |||
0xbc00 => \ 'Metabones Speed Booster Ultra', # with Canon LensID 0x00xx | 0xbc00 => \ 'Metabones Speed Booster Ultra', # with Canon LensID 0x00xx | |||
0xbd00 => 0xbc00, # with Canon LensID 0x01xx | 0xbd00 => 0xbc00, # with Canon LensID 0x01xx | |||
0xbe00 => 0xbc00, # with Canon LensID 0x02xx | 0xbe00 => 0xbc00, # with Canon LensID 0x02xx | |||
0xcc00 => 0xbc00, # with Canon LensID 0x10xx | 0xcc00 => 0xbc00, # with Canon LensID 0x10xx | |||
); | ); | |||
# lens ID numbers (ref 3) | # lens ID numbers (ref 3) | |||
# ("New" and "II" appear in brackets if original version also has this LensType) | # ("New" and "II" appear in brackets if original version also has this LensType) | |||
%minoltaLensTypes = ( | %minoltaLensTypes = ( | |||
Notes => q{ | Notes => q{ | |||
Decimal values have been added to differentiate lenses which would other | "New" or "II" appear in brackets if the original version of the lens has | |||
wise | the | |||
have the same LensType, and are used by the Composite LensID tag when | same LensType. Special logic is employed to identify the attached lens | |||
attempting to identify the specific lens model. "New" or "II" appear in | when | |||
brackets if the original version of the lens has the same LensType. Spe | a Metabones Canon EF adapter is used. | |||
cial | ||||
logic is employed to identify the attached lens when a Metabones Canon E | ||||
F | ||||
adapter is used. | ||||
}, | }, | |||
OTHER => sub { | OTHER => sub { | |||
my ($val, $inv) = @_; | my ($val, $inv) = @_; | |||
return undef if $inv; | return undef if $inv; | |||
my $id = $val & 0xff00; | my $id = $val & 0xff00; | |||
# Note: Metabones Smart Adapter firmware versions before 31 kill | # Note: Metabones Smart Adapter firmware versions before 31 kill | |||
# the high byte for 2-byte Canon LensType values, so the reported lens | # the high byte for 2-byte Canon LensType values, so the reported lens | |||
# will be incorrect for these | # will be incorrect for these | |||
my $mb = $metabonesID{$id}; | my $mb = $metabonesID{$id}; | |||
if ($mb) { | if ($mb) { | |||
skipping to change at line 901 | skipping to change at line 898 | |||
0x010b => { | 0x010b => { | |||
Name => 'ColorTemperature', | Name => 'ColorTemperature', | |||
Writable => 'int32u', | Writable => 'int32u', | |||
}, | }, | |||
0x010c => { #3 (Alpha 7) | 0x010c => { #3 (Alpha 7) | |||
Name => 'LensType', | Name => 'LensType', | |||
Writable => 'int32u', | Writable => 'int32u', | |||
SeparateTable => 1, | SeparateTable => 1, | |||
ValueConvInv => 'int($val)', # (must truncate decimal part) | ValueConvInv => 'int($val)', # (must truncate decimal part) | |||
PrintConv => \%minoltaLensTypes, | PrintConv => \%minoltaLensTypes, | |||
PrintInt => 1, | ||||
}, | }, | |||
# 0x010e - WhiteBalance according to ref #10 | # 0x010e - WhiteBalance according to ref #10 | |||
0x0111 => { #20 | 0x0111 => { #20 | |||
Name => 'ColorCompensationFilter', | Name => 'ColorCompensationFilter', | |||
Writable => 'int32s', | Writable => 'int32s', | |||
Notes => 'ranges from -2 for green to +2 for magenta', | Notes => 'ranges from -2 for green to +2 for magenta', | |||
}, | }, | |||
0x0112 => { #PH (from Sony tags, NC) | 0x0112 => { #PH (from Sony tags, NC) | |||
Name => 'WhiteBalanceFineTune', | Name => 'WhiteBalanceFineTune', | |||
Format => 'int32s', | Format => 'int32s', | |||
skipping to change at line 2711 | skipping to change at line 2709 | |||
ValueConvInv => 'log($val)/log(2)*16+126', | ValueConvInv => 'log($val)/log(2)*16+126', | |||
PrintConv => '$val > 266 ? "inf" : sprintf("%.2f m", $val)', | PrintConv => '$val > 266 ? "inf" : sprintf("%.2f m", $val)', | |||
PrintConvInv => '$val=~s/ ?m//; $val=~/inf/i ? 267 : $val', | PrintConvInv => '$val=~s/ ?m//; $val=~/inf/i ? 267 : $val', | |||
}, | }, | |||
0x49bd => { | 0x49bd => { | |||
Name => 'LensType', | Name => 'LensType', | |||
Format => 'int16uRev', | Format => 'int16uRev', | |||
SeparateTable => 1, | SeparateTable => 1, | |||
ValueConvInv => 'int($val)', # (must truncate decimal part) | ValueConvInv => 'int($val)', # (must truncate decimal part) | |||
PrintConv => \%minoltaLensTypes, | PrintConv => \%minoltaLensTypes, | |||
PrintInt => 1, | ||||
}, | }, | |||
0x49c0 => { | 0x49c0 => { | |||
Name => 'ExposureCompensation', # (in exposure bracketing, this is the a ctual value used) | Name => 'ExposureCompensation', # (in exposure bracketing, this is the a ctual value used) | |||
Format => 'int8s', | Format => 'int8s', | |||
ValueConv => '$val / 8', | ValueConv => '$val / 8', | |||
ValueConvInv => '$val * 8', | ValueConvInv => '$val * 8', | |||
PrintConv => '$val ? sprintf("%+.1f",$val) : 0', | PrintConv => '$val ? sprintf("%+.1f",$val) : 0', | |||
PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)', | PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)', | |||
}, | }, | |||
0x49c1 => { | 0x49c1 => { | |||
End of changes. 4 change blocks. | ||||
10 lines changed or deleted | 8 lines changed or added |