"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "lib/Image/ExifTool/Sony.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.

Sony.pm  (Image-ExifTool-12.57):Sony.pm  (Image-ExifTool-12.58)
skipping to change at line 37 skipping to change at line 37
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
package Image::ExifTool::Sony; package Image::ExifTool::Sony;
use strict; use strict;
use vars qw($VERSION %sonyLensTypes %sonyLensTypes2); use vars qw($VERSION %sonyLensTypes %sonyLensTypes2);
use Image::ExifTool qw(:DataAccess :Utils); use Image::ExifTool qw(:DataAccess :Utils);
use Image::ExifTool::Exif; use Image::ExifTool::Exif;
use Image::ExifTool::Minolta; use Image::ExifTool::Minolta;
$VERSION = '3.57'; $VERSION = '3.58';
sub ProcessSRF($$$); sub ProcessSRF($$$);
sub ProcessSR2($$$); sub ProcessSR2($$$);
sub ProcessSonyPIC($$$); sub ProcessSonyPIC($$$);
sub ProcessMoreInfo($$$); sub ProcessMoreInfo($$$);
sub Process_rtmd($$$); sub Process_rtmd($$$);
sub Decipher($;$); sub Decipher($;$);
sub ProcessEnciphered($$$); sub ProcessEnciphered($$$);
sub WriteEnciphered($$$); sub WriteEnciphered($$$);
sub WriteSR2($$$); sub WriteSR2($$$);
skipping to change at line 2048 skipping to change at line 2048
360 => 'ILCE-6500', #JR 360 => 'ILCE-6500', #JR
362 => 'ILCE-7RM3', #IB 362 => 'ILCE-7RM3', #IB
363 => 'ILCE-7M3', #JR/IB 363 => 'ILCE-7M3', #JR/IB
364 => 'DSC-RX0', #PH 364 => 'DSC-RX0', #PH
365 => 'DSC-RX10M4', #JR 365 => 'DSC-RX10M4', #JR
366 => 'DSC-RX100M6', #IB 366 => 'DSC-RX100M6', #IB
367 => 'DSC-HX99', #IB 367 => 'DSC-HX99', #IB
369 => 'DSC-RX100M5A', #JR 369 => 'DSC-RX100M5A', #JR
371 => 'ILCE-6400', #IB 371 => 'ILCE-6400', #IB
372 => 'DSC-RX0M2', #JR 372 => 'DSC-RX0M2', #JR
373 => 'DSC-HX95', #github191
374 => 'DSC-RX100M7', #IB 374 => 'DSC-RX100M7', #IB
375 => 'ILCE-7RM4', #IB 375 => 'ILCE-7RM4', #IB
376 => 'ILCE-9M2', #JR 376 => 'ILCE-9M2', #JR
378 => 'ILCE-6600', #IB/JR 378 => 'ILCE-6600', #IB/JR
379 => 'ILCE-6100', #IB/JR 379 => 'ILCE-6100', #IB/JR
380 => 'ZV-1', #JR 380 => 'ZV-1', #JR
381 => 'ILCE-7C', #JR 381 => 'ILCE-7C', #JR
382 => 'ZV-E10', #JR 382 => 'ZV-E10', #JR
383 => 'ILCE-7SM3', 383 => 'ILCE-7SM3',
384 => 'ILCE-1', #PH 384 => 'ILCE-1', #PH
skipping to change at line 2164 skipping to change at line 2165
0xffffffff => 'n/a', # (HX9V sweep panorama, ref JR) 0xffffffff => 'n/a', # (HX9V sweep panorama, ref JR)
}, },
}, },
0xb027 => { #2 0xb027 => { #2
Name => 'LensType', Name => 'LensType',
Writable => 'int32u', Writable => 'int32u',
SeparateTable => 1, SeparateTable => 1,
# set to 65535 for E-mount lenses (values 0x80xx) # set to 65535 for E-mount lenses (values 0x80xx)
ValueConvInv => '($val & 0xff00) == 0x8000 ? 65535 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 65535 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0xb028 => { #2 0xb028 => { #2
# (used by the DSLR-A100) # (used by the DSLR-A100)
Name => 'MinoltaMakerNote', Name => 'MinoltaMakerNote',
# must check for zero since apparently a value of zero indicates the IFD doesn't exist # must check for zero since apparently a value of zero indicates the IFD doesn't exist
# (dumb Sony -- they shouldn't write this tag if the IFD is missing!) # (dumb Sony -- they shouldn't write this tag if the IFD is missing!)
Condition => '$$valPt ne "\0\0\0\0"', Condition => '$$valPt ne "\0\0\0\0"',
Flags => 'SubIFD', Flags => 'SubIFD',
SubDirectory => { SubDirectory => {
TagTable => 'Image::ExifTool::Minolta::Main', TagTable => 'Image::ExifTool::Minolta::Main',
skipping to change at line 5573 skipping to change at line 5575
Format => 'int16u', Format => 'int16u',
Condition => '($$self{Model} =~ /^NEX-/)', Condition => '($$self{Model} =~ /^NEX-/)',
PrintConv => 'sprintf("Ver.%.2x.%.3d",$val>>8,$val&0xff)', PrintConv => 'sprintf("Ver.%.2x.%.3d",$val>>8,$val&0xff)',
}, },
0x3f7 => { #JR 0x3f7 => { #JR
Name => 'LensType2', Name => 'LensType2',
Condition => '($$self{Model} =~ /^NEX-/) and ($$self{LensMount} != 1)', Condition => '($$self{Model} =~ /^NEX-/) and ($$self{LensMount} != 1)',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x400 => { #JR 0x400 => { #JR
Name => 'ImageNumber', Name => 'ImageNumber',
Condition => '$$self{Model} =~ /^DSLR-(A450|A500|A550)$/', Condition => '$$self{Model} =~ /^DSLR-(A450|A500|A550)$/',
Format => 'int16u', Format => 'int16u',
Notes => 'A450, A500 and A550', Notes => 'A450, A500 and A550',
Mask => 0x3fff, #PH (not sure what the upper 2 bits are for) Mask => 0x3fff, #PH (not sure what the upper 2 bits are for)
PrintConv => 'sprintf("%.4d",$val)', PrintConv => 'sprintf("%.4d",$val)',
PrintConvInv => '$val', PrintConvInv => '$val',
}, },
skipping to change at line 6606 skipping to change at line 6609
1 => 'A-mount', 1 => 'A-mount',
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x1893 => { #JR 0x1893 => { #JR
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x1896 => { 0x1896 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
SeparateTable => 1, SeparateTable => 1,
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x1898 => { 0x1898 => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/', Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x1899 => { 0x1899 => {
Name => 'DistortionCorrParamsNumber', Name => 'DistortionCorrParamsNumber',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'}, PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'},
skipping to change at line 6812 skipping to change at line 6817
1 => 'A-mount', 1 => 'A-mount',
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x18bf => { #JR 0x18bf => { #JR
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x18c2 => { 0x18c2 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
SeparateTable => 1, SeparateTable => 1,
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x18c4 => { 0x18c4 => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x18c5 => { 0x18c5 => {
Name => 'DistortionCorrParamsNumber', Name => 'DistortionCorrParamsNumber',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'}, PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'},
skipping to change at line 6949 skipping to change at line 6956
1 => 'A-mount', 1 => 'A-mount',
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x18ef => { #JR 0x18ef => { #JR
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x18f2 => { 0x18f2 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
SeparateTable => 1, SeparateTable => 1,
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x18f4 => { 0x18f4 => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x18f5 => { 0x18f5 => {
Name => 'DistortionCorrParamsNumber', Name => 'DistortionCorrParamsNumber',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'}, PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'},
skipping to change at line 7078 skipping to change at line 7087
1 => 'A-mount', 1 => 'A-mount',
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x17f3 => { #JR 0x17f3 => { #JR
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x17f6 => { 0x17f6 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
SeparateTable => 1, SeparateTable => 1,
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x17f8 => { 0x17f8 => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x17f9 => { 0x17f9 => {
Name => 'DistortionCorrParamsNumber', Name => 'DistortionCorrParamsNumber',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'}, PrintConv => { 11 => '11 (APS-C)', 16 => '16 (Full-frame)'},
skipping to change at line 7442 skipping to change at line 7453
1 => 'APS-C', 1 => 'APS-C',
2 => 'Full-frame', 2 => 'Full-frame',
}, },
}, },
0x0107 => { 0x0107 => {
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x0109 => { 0x0109 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
Notes => 'SLT models, and NEX with A-mount lenses', Notes => 'SLT models, and NEX with A-mount lenses',
SeparateTable => 1, SeparateTable => 1,
# has a value of 0 for E-mount lenses (values 0x80xx) # has a value of 0 for E-mount lenses (values 0x80xx)
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x010b => { 0x010b => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x0114 => { 0x0114 => {
Name => 'APS-CSizeCapture', Name => 'APS-CSizeCapture',
Condition => '$$self{Model} =~ /^(SLT-A99|HV|ILCE-7)/', Condition => '$$self{Model} =~ /^(SLT-A99|HV|ILCE-7)/',
PrintConv => { PrintConv => {
0 => 'Off', 0 => 'Off',
skipping to change at line 7729 skipping to change at line 7742
1 => 'APS-C', 1 => 'APS-C',
2 => 'Full-frame', 2 => 'Full-frame',
}, },
}, },
0x0107 => { 0x0107 => {
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x0109 => { 0x0109 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
Notes => 'SLT models, and NEX with A-mount lenses', Notes => 'SLT models, and NEX with A-mount lenses',
SeparateTable => 1, SeparateTable => 1,
# has a value of 0 for E-mount lenses (values 0x80xx) # has a value of 0 for E-mount lenses (values 0x80xx)
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x010b => { 0x010b => {
Name => 'DistortionCorrParamsPresent', Name => 'DistortionCorrParamsPresent',
PrintConv => { 0 => 'No', 1 => 'Yes'}, PrintConv => { 0 => 'No', 1 => 'Yes'},
}, },
0x0114 => { 0x0114 => {
Name => 'APS-CSizeCapture', Name => 'APS-CSizeCapture',
Condition => '$$self{Model} =~ /^(ILCE-7|ILCE-9|ILCA-99)/', Condition => '$$self{Model} =~ /^(ILCE-7|ILCE-9|ILCA-99)/',
PrintConv => { PrintConv => {
0 => 'Off', 0 => 'Off',
skipping to change at line 8538 skipping to change at line 8553
# 6 - seen for A58 panorama image # 6 - seen for A58 panorama image
}, },
}, },
0x0605 => { 0x0605 => {
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
Notes => 'E-mount lenses', Notes => 'E-mount lenses',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x0608 => { 0x0608 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Format => 'int16u', Format => 'int16u',
Notes => 'A-mount lenses on SLT and NEX', Notes => 'A-mount lenses on SLT and NEX',
SeparateTable => 1, SeparateTable => 1,
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x064a => { 0x064a => {
Name => 'VignettingCorrParams', Name => 'VignettingCorrParams',
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/', Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
Format => 'int16s[16]', Format => 'int16s[16]',
}, },
0x066a => { 0x066a => {
Name => 'ChromaticAberrationCorrParams', Name => 'ChromaticAberrationCorrParams',
Condition => '$$self{Model} !~ /^(DSC-|Stellar)/', Condition => '$$self{Model} !~ /^(DSC-|Stellar)/',
Format => 'int16s[32]', Format => 'int16s[32]',
skipping to change at line 8716 skipping to change at line 8733
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x0060 => { 0x0060 => {
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
Notes => 'E-mount lenses', Notes => 'E-mount lenses',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x0062 => { 0x0062 => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Format => 'int16u', Format => 'int16u',
Notes => 'A-mount lenses on SLT and NEX', Notes => 'A-mount lenses on SLT and NEX',
SeparateTable => 1, SeparateTable => 1,
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x0064 => { 0x0064 => {
Name => 'DistortionCorrParams', Name => 'DistortionCorrParams',
Condition => '$$self{Model} !~ /^DSC-/', Condition => '$$self{Model} !~ /^DSC-/',
Format => 'int16s[16]', Format => 'int16s[16]',
}, },
0x0342 => { 0x0342 => {
Name => 'LensZoomPosition', Name => 'LensZoomPosition',
Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3A?|7RM4A?|7SM 2|6100|6300|6400|6500|6600|7C|9|9M2)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10 M4|RX100M4|RX100M5|RX100M5A|RX100M6|RX100M7|WX500)|ZV-)/', Condition => '$$self{Model} !~ /^(ILCA-|ILCE-(7RM2|7M3|7RM3A?|7RM4A?|7SM 2|6100|6300|6400|6500|6600|7C|9|9M2)|DSC-(HX80|HX90V|HX99|RX0|RX10M2|RX10M3|RX10 M4|RX100M4|RX100M5|RX100M5A|RX100M6|RX100M7|WX500)|ZV-)/',
Format => 'int16u', Format => 'int16u',
skipping to change at line 8940 skipping to change at line 8959
# (Tag9405-0x0605 and Tag9050-0x0107 LensType2 always give '0' for adapters/ A-mount lenses.) # (Tag9405-0x0605 and Tag9050-0x0107 LensType2 always give '0' for adapters/ A-mount lenses.)
# - seen a few instances of 0x0009 indicating an E-mount lens, but 0xb027 Le nsType indicating an A-mount lens: # - seen a few instances of 0x0009 indicating an E-mount lens, but 0xb027 Le nsType indicating an A-mount lens:
# possibly due to adapter info not being read/reset correctly ? # possibly due to adapter info not being read/reset correctly ?
# August 2015: renamed from LensType2 into Lenstype3 because too often info here relates to previously-mounted-lens # August 2015: renamed from LensType2 into Lenstype3 because too often info here relates to previously-mounted-lens
0x0009 => { 0x0009 => {
Name => 'LensType3', Name => 'LensType3',
RawConv => '(($$self{LensMount} != 0) or ($val > 0 and $val < 32784)) ? $val : undef', RawConv => '(($$self{LensMount} != 0) or ($val > 0 and $val < 32784)) ? $val : undef',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x000b => { 0x000b => {
Name => 'CameraE-mountVersion', Name => 'CameraE-mountVersion',
Format => 'int16u', Format => 'int16u',
PrintConv => 'sprintf("%x.%.2x",$val>>8,$val&0xff)', PrintConv => 'sprintf("%x.%.2x",$val>>8,$val&0xff)',
PrintConvInv => 'my @a=split(/\./,$val);(hex($a[0])<<8)|hex($a[1])', PrintConvInv => 'my @a=split(/\./,$val);(hex($a[0])<<8)|hex($a[1])',
# E-mount versions seen for various cameras / camera-firmware versions: # E-mount versions seen for various cameras / camera-firmware versions:
# - : info not present in CameraSettings3 for NEX-3/5/5C/C3/VG10E # - : info not present in CameraSettings3 for NEX-3/5/5C/C3/VG10E
# 1.14: NEX-5N/5R/6/7/F3/VG20E/VG30E/VG900 v1.00, NEX-5N v1.01, NEX-3N v 0.90 # 1.14: NEX-5N/5R/6/7/F3/VG20E/VG30E/VG900 v1.00, NEX-5N v1.01, NEX-3N v 0.90
# 1.20: NEX-3N v1.00, NEX-6 v1.01, NEX-7 v1.02, ILCE-3000 v1.00, ILCE-35 00 v1.01 # 1.20: NEX-3N v1.00, NEX-6 v1.01, NEX-7 v1.02, ILCE-3000 v1.00, ILCE-35 00 v1.01
skipping to change at line 9624 skipping to change at line 9644
1 => 'A-mount', 1 => 'A-mount',
2 => 'E-mount', 2 => 'E-mount',
}, },
}, },
0x004b => { 0x004b => {
Name => 'LensType2', Name => 'LensType2',
Condition => '$$self{LensMount} == 2', Condition => '$$self{LensMount} == 2',
Format => 'int16u', Format => 'int16u',
SeparateTable => 'LensType2', SeparateTable => 'LensType2',
PrintConv => \%sonyLensTypes2, PrintConv => \%sonyLensTypes2,
PrintInt => 1,
}, },
0x004d => { 0x004d => {
Name => 'LensType', Name => 'LensType',
Condition => '$$self{LensMount} == 1', Condition => '$$self{LensMount} == 1',
Priority => 0, #PH (just to be safe) Priority => 0, #PH (just to be safe)
Format => 'int16u', #PH Format => 'int16u', #PH
SeparateTable => 1, SeparateTable => 1,
ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)', ValueConvInv => '($val & 0xff00) == 0x8000 ? 0 : int($val)',
PrintConv => \%sonyLensTypes, PrintConv => \%sonyLensTypes,
PrintInt => 1,
}, },
0x004f => { 0x004f => {
Name => 'DistortionCorrParams', Name => 'DistortionCorrParams',
Format => 'int16s[16]', Format => 'int16s[16]',
}, },
0x0070 => { %pictureProfile2010 }, #IB 0x0070 => { %pictureProfile2010 }, #IB
0x0071 => { 0x0071 => {
Name => 'FocalLength', Name => 'FocalLength',
Format => 'int16u', Format => 'int16u',
ValueConv => '$val / 10', ValueConv => '$val / 10',
 End of changes. 23 change blocks. 
1 lines changed or deleted 23 lines changed or added

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