123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684 |
- package Image::ExifTool::Sigma;
- use strict;
- use vars qw($VERSION %sigmaLensTypes);
- use Image::ExifTool::Exif;
- $VERSION = '1.17';
- %sigmaLensTypes = (
- Notes => q{
- Decimal values have 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.
- },
-
-
- 16 => 'Sigma 18-50mm F3.5-5.6 DC',
- 103 => 'Sigma 180mm F3.5 EX IF HSM APO Macro',
- 104 => 'Sigma 150mm F2.8 EX DG HSM APO Macro',
- 105 => 'Sigma 180mm F3.5 EX DG HSM APO Macro',
- 106 => 'Sigma 150mm F2.8 EX DG OS HSM APO Macro',
- 107 => 'Sigma 180mm F2.8 EX DG OS HSM APO Macro',
- 129 => 'Sigma 14mm F2.8 EX Aspherical',
- 131 => 'Sigma 17-70mm F2.8-4.5 DC Macro',
- 134 => 'Sigma 100-300mm F4 EX DG HSM APO',
- 135 => 'Sigma 120-300mm F2.8 EX DG HSM APO',
- 136 => 'Sigma 120-300mm F2.8 EX DG OS HSM APO',
- 137 => 'Sigma 120-300mm F2.8 DG OS HSM | S',
- 143 => 'Sigma 600mm F8 Mirror',
- 145 => 'Sigma Lens (145)',
- 145.1 => 'Sigma 15-30mm F3.5-4.5 EX DG Aspherical',
- 145.2 => 'Sigma 18-50mm F2.8 EX DG',
- 145.3 => 'Sigma 20-40mm F2.8 EX DG',
- 152 => 'Sigma APO 800mm F5.6 EX DG HSM',
- 165 => 'Sigma 70-200mm F2.8 EX',
-
-
-
-
- 169 => 'Sigma 18-50mm F2.8 EX DC',
- 183 => 'Sigma 500mm F4.5 EX HSM APO',
- 184 => 'Sigma 500mm F4.5 EX DG HSM APO',
- 194 => 'Sigma 300mm F2.8 EX HSM APO',
- 195 => 'Sigma 300mm F2.8 EX DG HSM APO',
- 200 => 'Sigma 12-24mm F4.5-5.6 EX DG ASP HSM',
- 201 => 'Sigma 10-20mm F4-5.6 EX DC HSM',
- 202 => 'Sigma 10-20mm F3.5 EX DC HSM',
- 203 => 'Sigma 8-16mm F4.5-5.6 DC HSM',
- 204 => 'Sigma 12-24mm F4.5-5.6 DG HSM II',
- 210 => 'Sigma 18-35mm F1.8 DC HSM | A',
- 256 => 'Sigma 105mm F2.8 EX Macro',
- 257 => 'Sigma 105mm F2.8 EX DG Macro',
- 258 => 'Sigma 105mm F2.8 EX DG OS HSM Macro',
- 270 => 'Sigma 70mm F2.8 EX DG Macro',
- 300 => 'Sigma 30mm F1.4 EX DC HSM',
- 301 => 'Sigma 30mm F1.4 DC HSM | A',
- 310 => 'Sigma 50mm F1.4 EX DG HSM',
- 311 => 'Sigma 50mm F1.4 DG HSM | A',
- 320 => 'Sigma 85mm F1.4 EX DG HSM',
- 330 => 'Sigma 30mm F2.8 EX DN',
- 340 => 'Sigma 35mm F1.4 DG HSM',
- 345 => 'Sigma 50mm F2.8 EX Macro',
- 346 => 'Sigma 50mm F2.8 EX DG Macro',
- 400 => 'Sigma 9mm F2.8 EX DN',
- 401 => 'Sigma 24mm F1.4 DG HSM | A',
- 411 => 'Sigma 20mm F1.8 EX DG ASP RF',
- 432 => 'Sigma 24mm F1.8 EX DG ASP Macro',
- 440 => 'Sigma 28mm F1.8 EX DG ASP Macro',
- 461 => 'Sigma 14mm F2.8 EX ASP HSM',
- 475 => 'Sigma 15mm F2.8 EX Diagonal FishEye',
- 476 => 'Sigma 15mm F2.8 EX DG Diagonal Fisheye',
- 477 => 'Sigma 10mm F2.8 EX DC HSM Fisheye',
- 483 => 'Sigma 8mm F4 EX Circular Fisheye',
- 484 => 'Sigma 8mm F4 EX DG Circular Fisheye',
- 485 => 'Sigma 8mm F3.5 EX DG Circular Fisheye',
- 486 => 'Sigma 4.5mm F2.8 EX DC HSM Circular Fisheye',
- 506 => 'Sigma 70-300mm F4-5.6 APO Macro Super II',
- 507 => 'Sigma 70-300mm F4-5.6 DL Macro Super II',
- 508 => 'Sigma 70-300mm F4-5.6 DG APO Macro',
- 509 => 'Sigma 70-300mm F4-5.6 DG Macro',
- 510 => 'Sigma 17-35 F2.8-4 EX DG ASP',
- 512 => 'Sigma 15-30mm F3.5-4.5 EX DG ASP DF',
- 513 => 'Sigma 20-40mm F2.8 EX DG',
- 519 => 'Sigma 17-35 F2.8-4 EX ASP HSM',
- 520 => 'Sigma 100-300mm F4.5-6.7 DL',
- 521 => 'Sigma 18-50mm F3.5-5.6 DC Macro',
- 527 => 'Sigma 100-300mm F4 EX IF HSM',
- 529 => 'Sigma 120-300mm F2.8 EX HSM IF APO',
- 547 => 'Sigma 24-60mm F2.8 EX DG',
- 548 => 'Sigma 24-70mm F2.8 EX DG Macro',
- 549 => 'Sigma 28-70mm F2.8 EX DG',
- 566 => 'Sigma 70-200mm F2.8 EX IF APO',
- 567 => 'Sigma 70-200mm F2.8 EX IF HSM APO',
- 568 => 'Sigma 70-200mm F2.8 EX DG IF HSM APO',
- 569 => 'Sigma 70-200 F2.8 EX DG HSM APO Macro',
- 571 => 'Sigma 24-70mm F2.8 IF EX DG HSM',
- 572 => 'Sigma 70-300mm F4-5.6 DG OS',
- 579 => 'Sigma 70-200mm F2.8 EX DG HSM APO Macro',
- 580 => 'Sigma 18-50mm F2.8 EX DC',
- 581 => 'Sigma 18-50mm F2.8 EX DC Macro',
- 582 => 'Sigma 18-50mm F2.8 EX DC HSM Macro',
- 583 => 'Sigma 17-50mm F2.8 EX DC OS HSM',
- 589 => 'Sigma APO 70-200mm F2.8 EX DG OS HSM',
- 595 => 'Sigma 300-800mm F5.6 EX DG APO HSM',
- 597 => 'Sigma 200-500mm F2.8 APO EX DG',
- '5A8'=> 'Sigma 70-300mm F4-5.6 APO DG Macro (Motorized)',
- '5A9'=> 'Sigma 70-300mm F4-5.6 DG Macro (Motorized)',
- 668 => 'Sigma 17-70mm F2.8-4 DC Macro OS HSM',
- 686 => 'Sigma 50-200mm F4-5.6 DC OS HSM',
- 691 => 'Sigma 50-150mm F2.8 EX DC APO HSM II',
- 692 => 'Sigma APO 50-150mm F2.8 EX DC OS HSM',
- 728 => 'Sigma 120-400mm F4.5-5.6 DG APO OS HSM',
- 737 => 'Sigma 150-500mm F5-6.3 APO DG OS HSM',
- 738 => 'Sigma 50-500mm F4.5-6.3 APO DG OS HSM',
- 824 => 'Sigma 1.4X Teleconverter EX APO DG',
- 853 => 'Sigma 18-125mm F3.8-5.6 DC OS HSM',
- 861 => 'Sigma 18-50mm F2.8-4.5 DC OS HSM',
- 876 => 'Sigma 2.0X Teleconverter EX APO DG',
- 880 => 'Sigma 18-250mm F3.5-6.3 DC OS HSM',
- 882 => 'Sigma 18-200mm F3.5-6.3 II DC OS HSM',
- 883 => 'Sigma 18-250mm F3.5-6.3 DC Macro OS HSM',
- 1003 => 'Sigma 19mm F2.8',
- 1004 => 'Sigma 30mm F2.8',
- 1005 => 'Sigma 50mm F2.8 Macro',
- 1006 => 'Sigma 19mm F2.8',
- 1007 => 'Sigma 30mm F2.8',
- 1008 => 'Sigma 50mm F2.8 Macro',
- 1009 => 'Sigma 14mm F4',
- 8900 => 'Sigma 70-300mm F4-5.6 DG OS',
- 'A100'=> 'Sigma 24-70mm F2.8 DG Macro',
-
- );
- %Image::ExifTool::Sigma::Main = (
- WRITE_PROC => \&Image::ExifTool::Exif::WriteExif,
- CHECK_PROC => \&Image::ExifTool::Exif::CheckExif,
- WRITABLE => 'string',
- GROUPS => { 0 => 'MakerNotes', 2 => 'Camera' },
- NOTES => q{
- These tags are written by Sigma/Foveon cameras. In the early days Sigma was
- a class leader by releasing their maker note specification to the public,
- but since then they have deviated from this standard and newer camera models
- are less than consistent about their metadata formats.
- },
- 0x0002 => 'SerialNumber',
- 0x0003 => 'DriveMode',
- 0x0004 => 'ResolutionMode',
- 0x0005 => 'AFMode',
- 0x0006 => 'FocusSetting',
- 0x0007 => 'WhiteBalance',
- 0x0008 => {
- Name => 'ExposureMode',
- PrintConv => {
- A => 'Aperture-priority AE',
- M => 'Manual',
- P => 'Program AE',
- S => 'Shutter speed priority AE',
- },
- },
- 0x0009 => {
- Name => 'MeteringMode',
- PrintConv => {
- A => 'Average',
- C => 'Center-weighted average',
- 8 => 'Multi-segment',
- },
- },
- 0x000a => 'LensFocalRange',
- 0x000b => 'ColorSpace',
-
- 0x000c => [
- {
- Name => 'ExposureCompensation',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Expo:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Expo:%+.1f",$val) : undef',
- },
- {
- Name => 'ExposureAdjust',
- Writable => 'rational64s',
- Unknown => 1,
- },
- ],
- 0x000d => [
- {
- Name => 'Contrast',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Cont:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Cont:%+.1f",$val) : undef',
- },
- {
- Name => 'Contrast',
- Writable => 'rational64s',
- Priority => 0,
- },
- ],
- 0x000e => [
- {
- Name => 'Shadow',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Shad:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Shad:%+.1f",$val) : undef',
- },
- {
- Name => 'Shadow',
- Writable => 'rational64s',
- Priority => 0,
- },
- ],
- 0x000f => [
- {
- Name => 'Highlight',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/High:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("High:%+.1f",$val) : undef',
- },
- {
- Name => 'Highlight',
- Writable => 'rational64s',
- Priority => 0,
- },
- ],
- 0x0010 => [
- {
- Name => 'Saturation',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Satu:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Satu:%+.1f",$val) : undef',
- },
- {
- Name => 'Saturation',
- Writable => 'rational64s',
- Priority => 0,
- },
- ],
- 0x0011 => [
- {
- Name => 'Sharpness',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Shar:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Shar:%+.1f",$val) : undef',
- },
- {
- Name => 'Sharpness',
- Writable => 'rational64s',
- Priority => 0,
- },
- ],
- 0x0012 => [
- {
- Name => 'X3FillLight',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Fill:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Fill:%+.1f",$val) : undef',
- },
- {
- Name => 'X3FillLight',
- Writable => 'rational64s',
- },
- ],
- 0x0014 => [
- {
- Name => 'ColorAdjustment',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/CC:\s*//, $val',
- ValueConvInv => 'IsInt($val) ? "CC:$val" : undef',
- },
- {
- Name => 'ColorAdjustment',
- Writable => 'rational64s',
- Count => 3,
- },
- ],
- 0x0015 => 'AdjustmentMode',
- 0x0016 => {
- Name => 'Quality',
- ValueConv => '$val =~ s/Qual:\s*//, $val',
- ValueConvInv => 'IsInt($val) ? "Qual:$val" : undef',
- },
- 0x0017 => 'Firmware',
- 0x0018 => {
- Name => 'Software',
- Priority => 0,
- },
- 0x0019 => 'AutoBracket',
- 0x001a => [
- {
- Name => 'PreviewImageStart',
- Condition => '$format eq "int32u"',
- Notes => q{
- Sigma Photo Pro writes ChrominanceNoiseReduction here, but various
- models use this for PreviewImageStart
- },
- IsOffset => 1,
- OffsetPair => 0x001b,
- DataTag => 'PreviewImage',
- Writable => 'int32u',
- Protected => 2,
- },{
- Name => 'ChrominanceNoiseReduction',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Chro:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Chro:%+.1f",$val) : undef',
- },
-
-
- ],
- 0x001b => [
- {
- Name => 'PreviewImageLength',
- Condition => '$format eq "int32u"',
- Notes => q{
- Sigma Photo Pro writes LuminanceNoiseReduction here, but various models use
- this for PreviewImageLength
- },
- OffsetPair => 0x001a,
- DataTag => 'PreviewImage',
- Writable => 'int32u',
- Protected => 2,
- },{
- Name => 'LuminanceNoiseReduction',
- Condition => '$format eq "string"',
- ValueConv => '$val =~ s/Luma:\s*//, $val',
- ValueConvInv => 'IsFloat($val) ? sprintf("Luma:%+.1f",$val) : undef',
- },
-
- ],
- 0x001c => [
- {
- Name => 'PreviewImageSize',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => q{
- PreviewImageStart for the SD1 and Merrill/Quattro models, and
- PreviewImageSize for others
- },
- Writable => 'int16u',
- Count => 2,
- },{
- Name => 'PreviewImageStart',
- Condition => '$format eq "int32u"',
- IsOffset => 1,
- OffsetPair => 0x001d,
- DataTag => 'PreviewImage',
- Writable => 'int32u',
- Protected => 2,
- },
- ],
- 0x001d => [
- {
- Name => 'MakerNoteVersion',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => q{
- PreviewImageLength for the SD1 and Merrill/Quattro models, and
- MakerNoteVersion for others
- },
- Writable => 'undef',
- },{
- Name => 'PreviewImageLength',
- Condition => '$format eq "int32u"',
- OffsetPair => 0x001c,
- DataTag => 'PreviewImage',
- Writable => 'int32u',
- Protected => 2,
- },
- ],
-
- 0x001e => {
- Name => 'PreviewImageSize',
- Condition => '$$self{Model} =~ /^SIGMA (DP\d (Merrill|Quattro))$/i',
- Notes => 'only valid for some models',
- Writable => 'int16u',
- Count => 2,
- },
- 0x001f => [
- {
- Name => 'AFPoint',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => q{
- MakerNoteVersion for the SD1 and Merrill/Quattro models, and AFPoint for
- others
- },
-
- },{
- Name => 'MakerNoteVersion',
- Writable => 'undef',
- },
- ],
-
-
- 0x0022 => {
- Name => 'FileFormat',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
-
- },
-
- 0x0024 => {
- Name => 'Calibration',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- },
-
-
- 0x0026 => {
- Name => 'FileFormat',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- },
- 0x0027 => {
- Name => 'LensType',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- SeparateTable => 'LensType',
- ValueConvInv => '$val=~s/\.\d+$//; $val',
- PrintConv => \%sigmaLensTypes,
- },
- 0x002a => {
- Name => 'LensFocalRange',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64u',
- Count => 2,
- PrintConv => '$val=~s/ / to /; $val',
- PrintConvInv => '$val=~s/to /; $val',
- },
- 0x002b => {
- Name => 'LensMaxApertureRange',
-
-
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64u',
- Count => 2,
- PrintConv => '$val=~s/ / to /; $val',
- PrintConvInv => '$val=~s/to /; $val',
- },
- 0x002c => {
- Name => 'ColorMode',
- Condition => '$format eq "int32u"',
- Notes => 'not valid for some models',
- Writable => 'int32u',
-
- PrintConv => {
- 0 => 'n/a',
- 1 => 'Sepia',
- 2 => 'B&W',
- 3 => 'Standard',
- 4 => 'Vivid',
- 5 => 'Neutral',
- 6 => 'Portrait',
- 7 => 'Landscape',
- 8 => 'FOV Classic Blue',
- },
- },
-
-
-
- 0x0030 => [
- {
- Name => 'LensApertureRange',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => q{
- Calibration for the SD1 and Merrill/Quattro models, and LensApertureRange
- for others. Note that LensApertureRange changes with focal length, and some
- models report the maximum aperture here
- },
- },{
- Name => 'Calibration',
- },
- ],
- 0x0031 => {
- Name => 'FNumber',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Writable => 'rational64u',
- PrintConv => 'sprintf("%.1f",$val)',
- PrintConvInv => '$val',
- Priority => 0,
- },
- 0x0032 => {
- Name => 'ExposureTime',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Writable => 'rational64u',
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
- Priority => 0,
- },
- 0x0033 => {
- Name => 'ExposureTime2',
- Condition => '$$self{Model} !~ / (SD1|SD9|SD15|Merrill|Quattro)$/',
- Notes => 'models other than the SD1, SD9, SD15 and Merrill/Quattro models',
- Writable => 'string',
- ValueConv => '$val * 1e-6',
- ValueConvInv => 'int($val * 1e6 + 0.5)',
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
- },
- 0x0034 => {
- Name => 'BurstShot',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Writable => 'int32u',
- },
-
- 0x0035 => {
- Name => 'ExposureCompensation',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Writable => 'rational64s',
-
- PrintConv => '$val and $val =~ s/^(\d)/\+$1/; $val',
- PrintConvInv => '$val',
- },
-
-
- 0x0039 => {
- Name => 'SensorTemperature',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
-
- PrintConv => 'IsInt($val) ? "$val C" : $val',
- PrintConvInv => '$val=~s/ ?C$//; $val',
- },
- 0x003a => {
- Name => 'FlashExposureComp',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Writable => 'rational64s',
- },
- 0x003b => {
- Name => 'Firmware',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Priority => 0,
- },
- 0x003c => {
- Name => 'WhiteBalance',
- Condition => '$$self{Model} !~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'models other than the SD1 and Merrill/Quattro models',
- Priority => 0,
- },
- 0x003d => {
- Name => 'PictureMode',
- Notes => 'same as ColorMode, but "Standard" when ColorMode is Sepia or B&W',
- },
- 0x0048 => {
- Name => 'LensApertureRange',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- },
- 0x0049 => {
- Name => 'FNumber',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64u',
- PrintConv => 'sprintf("%.1f",$val)',
- PrintConvInv => '$val',
- Priority => 0,
- },
- 0x004a => {
- Name => 'ExposureTime',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64u',
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
- Priority => 0,
- },
- 0x004b => [{
- Name => 'ExposureTime2',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d Merrill)$/',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'string',
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
- },{
- Name => 'ExposureTime2',
- Condition => '$$self{Model} =~ /^SIGMA dp\d Quattro$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'string',
- ValueConv => '$val / 1000000',
- ValueConvInv => '$val * 1000000',
- PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
- PrintConvInv => 'Image::ExifTool::Exif::ConvertFraction($val)',
- }],
- 0x004d => {
- Name => 'ExposureCompensation',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64s',
-
- PrintConv => '$val and $val =~ s/^(\d)/\+$1/; $val',
- PrintConvInv => '$val',
- },
-
- 0x0055 => {
- Name => 'SensorTemperature',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
-
- PrintConv => 'IsInt($val) ? "$val C" : $val',
- PrintConvInv => '$val=~s/ ?C$//; $val',
- },
- 0x0056 => {
- Name => 'FlashExposureComp',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Writable => 'rational64s',
- },
- 0x0057 => {
- Name => 'Firmware',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Priority => 0,
- },
- 0x0058 => {
- Name => 'WhiteBalance',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
- Priority => 0,
- },
- 0x0059 => {
- Name => 'DigitalFilter',
- Condition => '$$self{Model} =~ /^SIGMA (SD1( Merrill)?|DP\d (Merrill|Quattro))$/i',
- Notes => 'SD1 and Merrill/Quattro models only',
-
- },
-
- );
- 1;
- __END__
- =head1 NAME
- Image::ExifTool::Sigma - Sigma/Foveon EXIF maker notes tags
- =head1 SYNOPSIS
- This module is loaded automatically by Image::ExifTool when required.
- =head1 DESCRIPTION
- This module contains definitions required by Image::ExifTool to interpret
- Sigma and Foveon maker notes in EXIF information.
- =head1 AUTHOR
- Copyright 2003-2016, Phil Harvey (phil at owl.phy.queensu.ca)
- This library is free software; you can redistribute it and/or modify it
- under the same terms as Perl itself.
- =head1 REFERENCES
- =over 4
- =item L<http://www.x3f.info/technotes/FileDocs/MakerNoteDoc.html>
- =back
- =head1 SEE ALSO
- L<Image::ExifTool::TagNames/Sigma Tags>,
- L<Image::ExifTool(3pm)|Image::ExifTool>
- =cut
|