Image-Info
view release on metacpan or search on metacpan
lib/Image/TIFF.pm view on Meta::CPAN
[ "BYTE", "C1", 1],
[ "ASCII", "A1", 1],
[ "SHORT", "n1", 2],
[ "LONG", "N1", 4],
[ "RATIONAL", "N2", 8],
[ "SBYTE", "c1", 1],
[ "UNDEFINED", "a1", 1],
[ "SSHORT", "n1", 2],
[ "SLONG", "N1", 4],
[ "SRATIONAL", "N2", 8],
[ "FLOAT", "f1", 4], # XXX 4-byte IEEE format
[ "DOUBLE", "d1", 8], # XXX 8-byte IEEE format
# XXX TODO:
# [ "IFD", "??", ?], # See ExifTool
);
my %nikon1_tags = (
0x0003 => "Quality",
0x0004 => "ColorMode",
0x0005 => "ImageAdjustment",
0x0006 => "CCDSensitivity",
0x0007 => "Whitebalance",
0x0008 => "Focus",
0x000A => "DigitalZoom",
0x000B => "Converter",
);
my %nikon2_tags = (
0x0001 => "NikonVersion",
0x0002 => "ISOSetting",
0x0003 => "ColorMode",
0x0004 => "Quality",
0x0005 => "Whitebalance",
0x0006 => "ImageSharpening",
0x0007 => "FocusMode",
0x0008 => "FlashSetting",
0x0009 => "FlashMetering",
0x000B => "WBAdjustment",
0x000F => "ISOSelection",
0x0080 => "ImageAdjustment",
0x0082 => "AuxiliaryLens",
0x0084 => "Lens",
0x0085 => "ManualFocusDistance",
0x0086 => "DigitalZoom",
0x0088 => { __TAG__ => "AFFocusPosition",
pack("xCxx",0) => "Center",
pack("xCxx",1) => "Top",
pack("xCxx",2) => "Bottom",
pack("xCxx",3) => "Left",
pack("xCxx",4) => "Right",
},
0x008d => "ColorMode",
0x0090 => "FlashType",
0x0095 => "NoiseReduction",
0x0010 => "DataDump",
);
my %olympus_tags = (
0x0200 => "SpecialMode",
0x0201 => { __TAG__ => "JpegQual", 0 => "SQ", 1 => "HQ", 2 => "SHQ" },
0x0202 => { __TAG__ => "Macro", 0 => "Normal", 1 => "Macro" },
0x0204 => "DigiZoom",
0x0207 => "SoftwareRelease",
0x0208 => "PictInfo",
0x0209 => "CameraID",
0x0f00 => "DataDump",
);
my %fujifilm_tags = (
0x0000 => "Version",
0x1000 => "Quality",
0x1001 => { __TAG__ => "Sharpness",
1 => "Very Soft",
2 => "Soft",
3 => "Normal",
4 => "Hard",
5 => "Very Hard",
},
0x1002 => { __TAG__ => "WhiteBalance",
0 => "Auto",
256 => "Daylight",
512 => "Cloudy",
768 => "DaylightColor-fluorescence",
769 => "DaywhiteColor-fluorescence",
770 => "White-fluorescence",
1024 => "Incandenscense",
3840 => "Custom white balance",
},
0x1003 => { __TAG__ => "Color", 0 => "Normal", 256 => "High", 512 => "Low" },
0x1004 => { __TAG__ => "Tone" , 0 => "Normal", 256 => "High", 512 => "Low" },
0x1010 => { __TAG__ => "FlashMode", 0 => "Auto", 1 => "On", 2 => "Off", 3 => "Red-eye reduction" },
0x1011 => "FlashStrength",
0x1020 => { __TAG__ => "Macro", 0 => "Off", 1 => "On"},
0x1021 => { __TAG__ => "FocusMode", 0 => "Auto", 1 => "Manual" },
0x1030 => { __TAG__ => "SlowSync", 0 => "Off", 1 => "On"},
0x1031 => { __TAG__ => "PictureMode",
0 => "Auto",
1 => "Portrait",
2 => "Landscape",
4 => "Sports",
5 => "Night",
6 => "Program AE",
256 => "Aperture priority",
512 => "Shutter priority",
768 => "Manual",
},
0x1100 => { __TAG__ => "AutoBracketing", 0 => "Off", 1 => "On"},
0x1300 => { __TAG__ => "BlurWarning", 0 => "No", 1 => "Yes"},
0x1301 => { __TAG__ => "FocusWarning", 0 => "No", 1 => "Yes"},
0x1302 => { __TAG__ => "AEWarning", 0 => "No", 1 => "Yes"},
);
my %casio_tags = (
0x0001 => { __TAG__ => "RecordingMode",
1 => "SingleShutter",
2 => "Panorama",
3 => "Night scene",
4 => "Portrait",
5 => "Landscape",
},
0x0002 => { __TAG__ => "Quality", 1 => "Economy", 2 => "Normal", 3 => "Fine" },
0x0003 => { __TAG__ => "FocusingMode",
2 => "Macro",
3 => "Auto",
4 => "Manual",
5 => "Infinity",
},
0x0004 => { __TAG__ => "FlashMode", 1 => "Auto", 2 => "On", 3 => "Off", 4 => "Red-eye reduction" },
0x0005 => { __TAG__ => "FlashIntensity", 11 => "Weak", 13 => "Normal", 15 => "Strong" },
0x0006 => "ObjectDistance",
0x0007 => { __TAG__ => "WhiteBalance",
1 => "Auto",
2 => "Tungsten",
3 => "Daylight",
4 => "Fluorescent",
5 => "Shade",
129 => "Manual",
},
0x000a => { __TAG__ => "DigitalZoom", 65536 => "Off", 65537 => "2X" },
0x000b => { __TAG__ => "Sharpness", 0 => "Normal", 1 => "Soft", 2 => "Hard" },
0x000c => { __TAG__ => "Contrast" , 0 => "Normal", 1 => "Low", 2 => "High" },
0x000d => { __TAG__ => "Saturation", 0 => "Normal", 1 => "Low", 2 => "High" },
0x0014 => { __TAG__ => "CCDSensitivity",
64 => "Normal",
125 => "+1.0",
250 => "+2.0",
244 => "+3.0",
80 => "Normal",
100 => "High",
},
);
my %canon_0x0001_tags = (
0 => { __TAG__ => "MacroMode", 1 => "Macro", 2 => "Normal" },
1 => "SelfTimer",
2 => { __TAG__ => "Quality", 2 => "Normal", 3 => "Fine", 5 => "SuperFine" },
3 => 'Tag-0x0001-03',
4 => { __TAG__ => 'FlashMode',
0 => 'Flash Not Fired',
1 => 'Auto',
2 => 'On',
3 => 'Red-Eye Reduction',
4 => 'Slow Synchro',
5 => 'Auto + Red-Eye Reduction',
6 => 'On + Red-Eye Reduction',
16 => 'External Flash'
},
5 => { __TAG__ => 'ContinuousDriveMode', 0 => 'Single Or Timer', 1 => 'Continuous' },
6 => 'Tag-0x0001-06',
7 => { __TAG__ => 'FocusMode',
0 => 'One-Shot',
1 => 'AI Servo',
2 => 'AI Focus',
3 => 'MF',
4 => 'Single',
5 => 'Continuous',
6 => 'MF'
},
8 => 'Tag-0x0001-08',
9 => 'Tag-0x0001-09',
10 => { __TAG__ => 'ImageSize', 0 => 'Large', 1 => 'Medium', 2 => 'Small' },
11 => { __TAG__ => 'EasyShootingMode',
0 => 'Full Auto',
1 => 'Manual',
2 => 'Landscape',
3 => 'Fast Shutter',
4 => 'Slow Shutter',
5 => 'Night',
6 => 'B&W',
7 => 'Sepia',
8 => 'Portrait',
9 => 'Sports',
10 => 'Macro/Close-Up',
11 => 'Pan Focus'
},
12 => { __TAG__ => 'DigitalZoom', 0 => 'None', 1 => '2x', 2 => '4x' },
13 => { __TAG__ => 'Contrast', 0xFFFF => 'Low', 0 => 'Normal', 1 => 'High' },
14 => { __TAG__ => 'Saturation', 0xFFFF => 'Low', 0 => 'Normal', 1 => 'High' },
15 => { __TAG__ => 'Sharpness', 0xFFFF => 'Low', 0 => 'Normal', 1 => 'High' },
16 => { __TAG__ => 'ISO',
0 => 'See ISOSpeedRatings Tag',
15 => 'Auto',
16 => '50',
17 => '100',
18 => '200',
19 => '400'
},
17 => { __TAG__ => 'MeteringMode', 3 => 'Evaluative', 4 => 'Partial', 5 => 'Center-Weighted' },
18 => { __TAG__ => 'FocusType',
0 => 'Manual',
1 => 'Auto',
3 => 'Close-Up (Macro)',
8 => 'Locked (Pan Mode)'
},
19 => { __TAG__ => 'AFPointSelected',
0x3000 => 'None { __TAG__ => MF)',
0x3001 => 'Auto-Selected',
0x3002 => 'Right',
0x3003 => 'Center',
0x3004 => 'Left'
},
20 => { __TAG__ => 'ExposureMode',
0 => 'Easy Shooting',
1 => 'Program',
2 => 'Tv-priority',
3 => 'Av-priority',
4 => 'Manual',
5 => 'A-DEP'
},
21 => 'Tag-0x0001-21',
22 => 'Tag-0x0001-22',
23 => 'LongFocalLengthOfLensInFocalUnits',
24 => 'ShortFocalLengthOfLensInFocalUnits',
25 => 'FocalUnitsPerMM',
26 => 'Tag-0x0001-26',
27 => 'Tag-0x0001-27',
28 => { __TAG__ => 'FlashActivity', 0 => 'Did Not Fire', 1 => 'Fired' },
29 => { __TAG__ => 'FlashDetails',
14 => 'External E-TTL',
13 => 'Internal Flash',
11 => 'FP Sync Used',
7 => '2nd ("Rear")-Curtain Sync Used',
4 => 'FP Sync Enabled'
},
30 => 'Tag-0x0001-30',
31 => 'Tag-0x0001-31',
32 => { __TAG__ => 'FocusMode', 0 => 'Single', 1 => 'Continuous' },
);
my %canon_0x0004_tags = (
7 => { __TAG__ => 'WhiteBalance',
0 => 'Auto',
1 => 'Sunny',
2 => 'Cloudy',
3 => 'Tungsten',
4 => 'Fluorescent',
5 => 'Flash',
6 => 'Custom'
},
9 => 'SequenceNumber',
14 => 'AFPointUsed',
15 => { __TAG__ => 'FlashBias',
0xFFC0 => '-2 EV',
0xFFCC => '-1.67 EV',
0xFFD0 => '-1.50 EV',
0xFFD4 => '-1.33 EV',
0xFFE0 => '-1 EV',
0xFFEC => '-0.67 EV',
0xFFF0 => '-0.50 EV',
0xFFF4 => '-0.33 EV',
0x0000 => '0 EV',
0x000C => '0.33 EV',
0x0010 => '0.50 EV',
0x0014 => '0.67 EV',
0x0020 => '1 EV',
0x002C => '1.33 EV',
0x0030 => '1.50 EV',
0x0034 => '1.67 EV',
0x0040 => '2 EV',
},
19 => 'SubjectDistance'
);
my %canon_tags = (
0x0001 => { __TAG__ => "Custom_0x0001", __ARRAYOFFSET__ => \%canon_0x0001_tags },
0x0004 => { __TAG__ => "Custom_0x0004", __ARRAYOFFSET__ => \%canon_0x0004_tags },
0x0006 => "ImageType",
0x0007 => "FirmwareVersion",
0x0008 => "ImageNumber",
0x0009 => "OwnerName",
0x000c => "SerialNumber",
);
# see http://www.compton.nu/panasonic.html
my %panasonic_tags = (
0x0001 => { __TAG__ => "ImageQuality",
2 => 'High',
3 => 'Normal',
6 => 'Very High', #3 (Leica)
7 => 'Raw', #3 (Leica)
},
0x0002 => "FirmwareVersion",
0x0003 => { __TAG__ => "WhiteBalance",
1 => 'Auto',
2 => 'Daylight',
3 => 'Cloudy',
4 => 'Halogen',
5 => 'Manual',
8 => 'Flash',
10 => 'Black & White', #3 (Leica)
},
0x0007 => { __TAG__ => "FocusMode",
1 => 'Auto',
2 => 'Manual',
5 => 'Auto, Continuous',
4 => 'Auto, Focus button',
},
0x000f => { __TAG__ => "SpotMode",
# XXX TODO: does not decode properly
"0,1" => 'On',
"0,16" => 'Off',
},
0x001a => { __TAG__ => "ImageStabilizer",
2 => 'On, Mode 1',
3 => 'Off',
4 => 'On, Mode 2',
},
0x001c => { __TAG__ => "MacroMode",
1 => 'On',
2 => 'Off',
},
0x001f => { __TAG__ => "ShootingMode",
1 => 'Normal',
2 => 'Portrait',
3 => 'Scenery',
4 => 'Sports',
5 => 'Night Portrait',
6 => 'Program',
7 => 'Aperture Priority',
8 => 'Shutter Priority',
9 => 'Macro',
11 => 'Manual',
13 => 'Panning',
18 => 'Fireworks',
19 => 'Party',
20 => 'Snow',
21 => 'Night Scenery',
},
0x0020 => { __TAG__ => "Audio",
1 => 'Yes',
2 => 'No',
},
0x0021 => "DataDump",
0x0022 => "Panasonic 0x0022",
0x0023 => "WhiteBalanceBias",
0x0024 => "FlashBias",
0x0025 => "SerialNumber",
0x0026 => "Panasonic 0x0026",
0x0027 => "Panasonic 0x0027",
0x0028 => { __TAG__ => "ColorEffect",
1 => 'Off',
2 => 'Warm',
3 => 'Cool',
4 => 'Black & White',
5 => 'Sepia',
},
0x0029 => "Panasonic 0x0029",
0x002a => { __TAG__ => "BurstMode",
0 => 'Off',
1 => 'Low/High Quality',
2 => 'Infinite',
},
0x002b => "ImageSequenceNumber",
0x002c => { __TAG__ => "Contrast",
0 => 'Normal',
1 => 'Low',
2 => 'High',
0x100 => 'Low', # Leica
0x110 => 'Normal', # Leica
0x120 => 'High', # Leica
},
0x002d => { __TAG__ => "NoiseReduction",
0 => 'Standard',
1 => 'Low',
2 => 'High',
},
0x002e => { __TAG__ => "SelfTimer",
1 => 'Off',
2 => '10s',
3 => '2s',
},
0x002f => "Panasonic 0x002f",
0x0030 => "Panasonic 0x0030",
0x0031 => "Panasonic 0x0031",
0x0032 => "Panasonic 0x0032",
);
# format:
# "Make Model" => [ Offset, 'Tag_prefix', ptr to tags ]
# Offset is either 0, or a positive number of Bytes.
# Offset -1 or -2 means a kludge for Fuji or Nikon
lib/Image/TIFF.pm view on Meta::CPAN
2 => "One-chip color area sensor",
3 => "Two-chip color area sensor",
4 => "Three-chip color area sensor",
5 => "Color sequential area sensor",
7 => "Trilinear sensor",
8 => "Color sequential linear sensor"
},
0xA300 => {__TAG__ => "FileSource",
DECODER => \&file_source_decoder,
},
0xA301 => {__TAG__ => "SceneType",
DECODER => \&scene_type_decoder,
},
0xA302 => "CFAPattern",
0xA401 => {__TAG__ => "CustomRendered",
0 => "Normal process",
1 => "Custom process"
},
0xA402 => {__TAG__ => "ExposureMode",
0 => "Auto exposure",
1 => "Manual exposure",
2 => "Auto bracket"
},
0xA403 => {__TAG__ => "WhiteBalance",
0 => "Auto white balance",
1 => "Manual white balance"
},
0xA404 => "DigitalZoomRatio",
0xA405 => "FocalLengthIn35mmFilm",
0xA406 => {__TAG__ => "SceneCaptureType",
0 => "Standard",
1 => "Landscape",
2 => "Portrait",
3 => "Night Scene"
},
0xA407 => {__TAG__ => "GainControl",
0 => "None",
1 => "Low gain up",
2 => "High gain up",
3 => "Low gain down",
4 => "High gain down"
},
0xA408 => {__TAG__ => "Contrast",
0 => "Normal",
1 => "Soft",
2 => "Hard"
},
0xA409 => {__TAG__ => "Saturation",
0 => "Normal",
1 => "Low saturation",
2 => "High saturation"
},
0xA40A => {__TAG__ => "Sharpness",
0 => "Normal",
1 => "Soft",
2 => "Hard"
},
0xA40B => "DeviceSettingDescription",
0xA40C => {__TAG__ => "SubjectDistanceRange",
0 => "Unknown",
1 => "Macro",
2 => "Close view",
3 => "Distant view"
},
0xA420 => "ImageUniqueID",
);
my %gps_tags = (
0x0000 => 'GPSVersionID',
0x0001 => 'GPSLatitudeRef',
0x0002 => 'GPSLatitude',
0x0003 => 'GPSLongitudeRef',
0x0004 => 'GPSLongitude',
0x0005 => 'GPSAltitudeRef',
0x0006 => 'GPSAltitude',
0x0007 => 'GPSTimeStamp',
0x0008 => 'GPSSatellites',
0x0009 => 'GPSStatus',
0x000A => 'GPSMeasureMode',
0x000B => 'GPSDOP',
0x000C => 'GPSSpeedRef',
0x000D => 'GPSSpeed',
0x000E => 'GPSTrackRef',
0x000F => 'GPSTrack',
0x0010 => 'GPSImgDirectionRef',
0x0011 => 'GPSImgDirection',
0x0012 => 'GPSMapDatum',
0x0013 => 'GPSDestLatitudeRef',
0x0014 => 'GPSDestLatitude',
0x0015 => 'GPSDestLongitudeRef',
0x0016 => 'GPSDestLongitude',
0x0017 => 'GPSDestBearingRef',
0x0018 => 'GPSDestBearing',
0x0019 => 'GPSDestDistanceRef',
0x001A => 'GPSDestDistance',
0x001B => 'GPSProcessingMethod',
0x001C => 'GPSAreaInformation',
0x001D => 'GPSDateStamp',
0x001E => 'GPSDifferential',
);
my %tiff_tags = (
254 => { __TAG__ => "NewSubfileType",
1 => "ReducedResolution",
2 => "SinglePage",
4 => "TransparencyMask",
},
255 => { __TAG__ => "SubfileType",
1 => "FullResolution",
2 => "ReducedResolution",
3 => "SinglePage",
},
256 => "width",
257 => "height",
258 => "BitsPerSample",
259 => { __TAG__ => "Compression",
1 => "PackBytes",
2 => "CCITT Group3",
3 => "CCITT T4",
4 => "CCITT T6",
5 => "LZW",
( run in 0.919 second using v1.01-cache-2.11-cpan-e1769b4cff6 )