"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/Image/ExifTool/Pentax.pm" between
Image-ExifTool-12.57.tar.gz and Image-ExifTool-12.58.tar.gz

About: ExifTool is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files.

Pentax.pm  (Image-ExifTool-12.57):Pentax.pm  (Image-ExifTool-12.58)
skipping to change at line 61 skipping to change at line 61
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
package Image::ExifTool::Pentax; package Image::ExifTool::Pentax;
use strict; use strict;
use vars qw($VERSION %pentaxLensTypes); use vars qw($VERSION %pentaxLensTypes);
use Image::ExifTool::Exif; use Image::ExifTool::Exif;
use Image::ExifTool::GPS; use Image::ExifTool::GPS;
use Image::ExifTool::HP; use Image::ExifTool::HP;
$VERSION = '3.41'; $VERSION = '3.42';
sub CryptShutterCount($$); sub CryptShutterCount($$);
sub PrintFilter($$$); sub PrintFilter($$$);
sub DecodeAFPoints($$$$;$); sub DecodeAFPoints($$$$;$);
# pentax lens type codes (ref 4) # pentax lens type codes (ref 4)
# The first number gives the lens series, and the 2nd gives the model number # The first number gives the lens series, and the 2nd gives the model number
# Series numbers: K=1; A=2; F=3; FAJ=4; DFA=4,7; FA=3,4,5,6; FA*=5,6; # Series numbers: K=1; A=2; F=3; FAJ=4; DFA=4,7; FA=3,4,5,6; FA*=5,6;
# DA=3,4,7; DA*=7,8; FA645=11; DFA645=13; Q=21 # DA=3,4,7; DA*=7,8; FA645=11; DFA645=13; Q=21
%pentaxLensTypes = ( %pentaxLensTypes = (
Notes => q{ Notes => q{
The first number gives the series of the lens, and the second identifies the The first number gives the series of the lens, and the second identifies the
lens model. Note that newer series numbers may not always be properly lens model. Note that newer series numbers may not always be properly
identified by cameras running older firmware versions. Decimal values h identified by cameras running older firmware versions.
ave
been added to differentiate lenses which would otherwise have the same
LensType, and are used by the Composite LensID tag when attempting to
identify the specific lens model.
}, },
OTHER => sub { OTHER => sub {
my ($val, $inv, $conv) = @_; my ($val, $inv, $conv) = @_;
return undef if $inv; return undef if $inv;
# *istD may report a series number of 4 for series 7 lenses # *istD may report a series number of 4 for series 7 lenses
$val =~ s/^4 /7 / and $$conv{$val} and return "$$conv{$val} ($_[0])"; $val =~ s/^4 /7 / and $$conv{$val} and return "$$conv{$val} ($_[0])";
# cameras that don't recognize SDM lenses (eg. older K10 firmware) # cameras that don't recognize SDM lenses (eg. older K10 firmware)
# may report series 7 instead of 8 # may report series 7 instead of 8
$val =~ s/^7 /8 / and $$conv{$val} and return "$$conv{$val} ? ($_[0])"; $val =~ s/^7 /8 / and $$conv{$val} and return "$$conv{$val} ? ($_[0])";
# there seems to some inconsistency between FA and DFA lenses for the 64 5D... # there seems to some inconsistency between FA and DFA lenses for the 64 5D...
skipping to change at line 4084 skipping to change at line 4081
This record stores the LensType, plus one or two unknown bytes for some This record stores the LensType, plus one or two unknown bytes for some
models. models.
}, },
0 => { 0 => {
Name => 'LensType', Name => 'LensType',
Format => 'int8u[2]', Format => 'int8u[2]',
Priority => 0, Priority => 0,
ValueConvInv => '$val=~s/\.\d+$//; $val', ValueConvInv => '$val=~s/\.\d+$//; $val',
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
3 => { #PH 3 => { #PH
Name => 'ExtenderStatus', Name => 'ExtenderStatus',
Notes => 'not valid if a non-AF lens is used', Notes => 'not valid if a non-AF lens is used',
PrintConv => { 0 => 'Not attached', 1 => 'Attached' }, PrintConv => { 0 => 'Not attached', 1 => 'Attached' },
}, },
# this is a binaryData table because some cameras add an extra # this is a binaryData table because some cameras add an extra
# byte or two here (typically zeros)... # byte or two here (typically zeros)...
); );
skipping to change at line 4107 skipping to change at line 4105
GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' }, GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
IS_SUBDIR => [ 3 ], IS_SUBDIR => [ 3 ],
NOTES => 'Pentax lens information structure for models such as the *istD.', NOTES => 'Pentax lens information structure for models such as the *istD.',
0 => { 0 => {
Name => 'LensType', Name => 'LensType',
Format => 'int8u[2]', Format => 'int8u[2]',
Priority => 0, Priority => 0,
ValueConvInv => '$val=~s/\.\d+$//; $val', ValueConvInv => '$val=~s/\.\d+$//; $val',
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
3 => { 3 => {
Name => 'LensData', Name => 'LensData',
Format => 'undef[17]', Format => 'undef[17]',
SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' }, SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' },
}, },
); );
# lens information for newer models (ref PH) # lens information for newer models (ref PH)
%Image::ExifTool::Pentax::LensInfo2 = ( %Image::ExifTool::Pentax::LensInfo2 = (
skipping to change at line 4142 skipping to change at line 4141
ValueConvInv => q{ ValueConvInv => q{
my @v = split(' ',$val); my @v = split(' ',$val);
return undef unless @v == 2; return undef unless @v == 2;
$v[2] = ($v[1] >> 8) & 0xff; $v[2] = ($v[1] >> 8) & 0xff;
$v[3] = $v[1] & 0xff; $v[3] = $v[1] & 0xff;
$v[1] = 0; $v[1] = 0;
return "@v"; return "@v";
}, },
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
4 => { 4 => {
Name => 'LensData', Name => 'LensData',
Format => 'undef[17]', Format => 'undef[17]',
SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' }, SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' },
}, },
); );
# lens information for 645D (ref PH) # lens information for 645D (ref PH)
%Image::ExifTool::Pentax::LensInfo3 = ( %Image::ExifTool::Pentax::LensInfo3 = (
skipping to change at line 4177 skipping to change at line 4177
ValueConvInv => q{ ValueConvInv => q{
my @v = split(' ',$val); my @v = split(' ',$val);
return undef unless @v == 2; return undef unless @v == 2;
$v[2] = ($v[1] >> 8) & 0xff; $v[2] = ($v[1] >> 8) & 0xff;
$v[3] = $v[1] & 0xff; $v[3] = $v[1] & 0xff;
$v[1] = 0; $v[1] = 0;
return "@v"; return "@v";
}, },
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
13 => { 13 => {
Name => 'LensData', Name => 'LensData',
Format => 'undef[17]', Format => 'undef[17]',
SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' }, SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' },
}, },
); );
# lens information for K-5, K-r, etc (ref PH) # lens information for K-5, K-r, etc (ref PH)
%Image::ExifTool::Pentax::LensInfo4 = ( %Image::ExifTool::Pentax::LensInfo4 = (
skipping to change at line 4212 skipping to change at line 4213
ValueConvInv => q{ ValueConvInv => q{
my @v = split(' ',$val); my @v = split(' ',$val);
return undef unless @v == 2; return undef unless @v == 2;
$v[2] = ($v[1] >> 8) & 0xff; $v[2] = ($v[1] >> 8) & 0xff;
$v[3] = $v[1] & 0xff; $v[3] = $v[1] & 0xff;
$v[1] = 0; $v[1] = 0;
return "@v"; return "@v";
}, },
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
12 => { 12 => {
Name => 'LensData', Name => 'LensData',
Format => 'undef[18]', Format => 'undef[18]',
Condition => '$$self{NewLensData} = 1', # not really a condition, just u sed to set flag Condition => '$$self{NewLensData} = 1', # not really a condition, just u sed to set flag
SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' }, SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' },
}, },
); );
# lens information for K-01, K-30, K-50, K-500, K-3, K-3II, K-S1 (ref PH) # lens information for K-01, K-30, K-50, K-500, K-3, K-3II, K-S1 (ref PH)
skipping to change at line 4248 skipping to change at line 4250
ValueConvInv => q{ ValueConvInv => q{
my @v = split(' ',$val); my @v = split(' ',$val);
return undef unless @v == 2; return undef unless @v == 2;
$v[3] = ($v[1] >> 8) & 0xff; $v[3] = ($v[1] >> 8) & 0xff;
$v[4] = $v[1] & 0xff; $v[4] = $v[1] & 0xff;
$v[1] = $v[2] = 0; $v[1] = $v[2] = 0;
return "@v"; return "@v";
}, },
PrintConv => \%pentaxLensTypes, PrintConv => \%pentaxLensTypes,
SeparateTable => 1, SeparateTable => 1,
PrintInt => 1,
}, },
15 => { 15 => {
Name => 'LensData', Name => 'LensData',
Format => 'undef[17]', Format => 'undef[17]',
SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' }, SubDirectory => { TagTable => 'Image::ExifTool::Pentax::LensData' },
}, },
); );
# lens data information, including lens codes (ref PH) # lens data information, including lens codes (ref PH)
%Image::ExifTool::Pentax::LensData = ( %Image::ExifTool::Pentax::LensData = (
 End of changes. 8 change blocks. 
6 lines changed or deleted 8 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)