Image-MetaData-JPEG

 view release on metacpan or  search on metacpan

lib/Image/MetaData/JPEG/MakerNotes.pod  view on Meta::CPAN

field; everything here was inferred through a careful comparison of the
content of a set of Kodak JPEG files and their shot parameters. Fields
seems to be aligned on four bytes boundaries. For the DX3900 model the
endianness is always fixed to big endian. The signature regular expression
is "^(KDK INFO[a-zA-Z0-9]* )", the maker is 'KODAK'. The meaning of the
tags is as follows:

  BYTE   ???                firmware version? This is always 3
  BYTE   Compression        1 = normal, 2 = 2160x1440 high compression
  BYTE   BurstMode          0 = off,    1 = on
  BYTE   MacroMode          0 = normal, 1 = close-up
  SHORT  PixelXDimension    \ allowed     2160x1440, 1800x1200, 
  SHORT  PixelYDimension    /     values: 1536x1024, 1080x720
  SHORT  Year               the year value, with four digits
  BYTE   Month              the month value  (in [1,12])
  BYTE   Day                the day value    (in [1,31])
  BYTE   Hour               the hour value   (in [0,23])
  BYTE   Minute             the minute value (in [0,59])
  BYTE   Second             the second value (in [0,59])
  BYTE   SubSecond          (in 130th of seconds?)
  SHORT  ???                ???

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Fujifilm'}{'tags'} =                                      #
{ 0x0000 => ['Version',            $UNDEF,     4, '0130'                  ], #
  0x1000 => ['Quality',            $ASCII,     8, '(BASIC|NORMAL|FINE)'   ], #
  0x1001 => ['Sharpness',          $SHORT,     1, '[1-5]'                 ], #
  0x1002 => ['WhiteBalance',       $SHORT,     1, '(0|256|512|76[89]|770)'], #
  0x1003 => ['ColorSaturation',    $SHORT,     1, '(0|256|512)'           ], #
  0x1004 => ['ToneContrast',       $SHORT,     1, '(0|256|512)'           ], #
  0x1010 => ['FlashMode',          $SHORT,     1, '[0-3]'                 ], #
  0x1011 => ['FlashStrength',      $SRATIONAL, 1, $IFD_signed             ], #
  0x1020 => ['MacroMode',          $SHORT,     1, '[01]'                  ], #
  0x1021 => ['FocusMode',          $SHORT,     1, '[01]'                  ], #
  0x1030 => ['SlowSync',           $SHORT,     1, '[01]'                  ], #
  0x1031 => ['PictureMode',        $SHORT,     1, '([0-24-6]|256|512|768)'], #
  0x1032 => [ undef,               $SHORT,     1, undef                   ], #
  0x1100 => ['ContTake/Bracket',   $SHORT,     1, '[01]'                  ], #
  0x1200 => [ undef,               $SHORT,     1, undef                   ], #
  0x1300 => ['BlurWarning',        $SHORT,     1, '[01]'                  ], #
  0x1301 => ['Focuswarning',       $SHORT,     1, '[01]'                  ], #
  0x1302 => ['AutoExposureWarning',$SHORT,     1, '[01]'               ], }; #
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Kodak'}{'tags'} =                                         #
{ 0x0001 => ['---0x0001',          $BYTE,      1, undef                   ], #
  0x0002 => ['Compression',        $BYTE,      1, '[12]'                  ], #
  0x0003 => ['BurstMode',          $BYTE,      1, '[01]'                  ], #
  0x0004 => ['MacroMode',          $BYTE,      1, '[01]'                  ], #
  0x0005 => ['PixelXDimension',    $SHORT,     1, '(2160|1800|1536|1080)' ], #
  0x0007 => ['PixelYDimension',    $SHORT,     1, '(1440|1200|1024|720)'  ], #
  0x0009 => ['Year',               $SHORT,     1, $re_year                ], #
  0x000a => ['Month',              $BYTE,      1, $re_month               ], #
  0x000b => ['Day',                $BYTE,      1, $re_day                 ], #
  0x000c => ['Hour',               $BYTE,      1, $re_hour                ], #
  0x000d => ['Minute',             $BYTE,      1, $re_minute              ], #
  0x000e => ['Second',             $BYTE,      1, $re_second              ], #
  0x000f => ['SubSecond',          $BYTE,      1, $re_integer             ], #
  0x0010 => ['---BurstMode_2',     $SHORT,     1, undef                   ], #

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

};
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Kyocera'}{'tags'} =                                       #
{ 0x0001 => ['Thumbnail',          $UNDEF, undef, undef                   ], #
  0x0e00 => ['PrintIM_Data',       $UNDEF, undef, undef                ], }; # 
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Minolta_1'}{'tags'} =				     #
{ 0x0000 => ['MakerNoteVersion',   $UNDEF,     4, 'MLT0'                  ], #
  0x0200 => ['SpecialMode',        $LONG,      3, $IFD_integer            ], #
  0x0201 => ['Quality',            $SHORT,     3, undef                   ], #
  0x0202 => ['MacroMode',          $SHORT,     1, '[012]'                 ], #
  0x0203 => [ undef,               $SHORT,     1, undef                   ], #
  0x0204 => ['DigitalZoom',        $RATIONAL,  1, $IFD_integer            ], #
  0x020e => [ undef,               $SHORT,     1, undef                   ], #
  0x020f => [ undef,               $SHORT,     1, undef                   ], #
  0x0210 => [ undef,               $SHORT,     1, undef                   ], #
  0x0211 => [ undef,               $SHORT,     1, undef                   ], #
  0x0212 => [ undef,               $SHORT,     1, undef                   ], #
  0x0213 => [ undef,               $SHORT,     1, undef                   ], #
  0x0214 => [ undef,               $SHORT,     1, undef                   ], #
  0x0215 => [ undef,               $SHORT,     1, undef                   ], #

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

  0x00aa => [ undef,               $ASCII, undef, undef                   ], #
  0x00ab => [ undef,               $ASCII, undef, undef                   ], #
  0x0e08 => [ undef,               $SHORT,     1, undef                   ], #
  0x0e09 => [ undef,               $ASCII, undef, undef                   ], #
  0x0e10 => [ undef,               $LONG,      1, undef                ], }; #
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Olympus'}{'tags'} =                                       #
{ 0x0100 => ['JPEGThumbnail',      $UNDEF, undef, '\377\330\377.*'        ], #
  0x0200 => ['SpecialMode',        $LONG,      3, $IFD_integer            ], #
  0x0201 => ['JpegQuality',        $SHORT,     1, '[123]'                 ], #
  0x0202 => ['Macro',              $SHORT,     1, '[012]'                 ], #
  0x0203 => [ undef,               $SHORT,     1, undef                   ], #
  0x0204 => ['DigitalZoom',        $RATIONAL,  1, $IFD_integer            ], #
  0x0205 => [ undef,               $RATIONAL,  1, undef                   ], #
  0x0206 => [ undef,               $SSHORT,    6, undef                   ], #
  0x0207 => ['SoftwareRelease',    $ASCII,     5, '[A-Z0-9]*'             ], #
  0x0208 => ['PictureInfo',        $ASCII, undef, '[\040-\176]*'          ], #
  0x0209 => ['CameraID',           $UNDEF, undef, '.*'                    ], #
  0x0300 => [ undef,               $SHORT,     1, undef                   ], #
  0x0301 => [ undef,               $SHORT,     1, undef                   ], #
  0x0302 => [ undef,               $SHORT,     1, undef                   ], #

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

  0x1004 => ['FlashMode',          $SHORT,     1, undef                   ], #
  0x1005 => [ undef,               $SHORT,     2, undef                   ], #
  0x1006 => ['Bracket',            $SRATIONAL, 1, undef                   ], #
  0x1007 => [ undef,               $SSHORT,    1, undef                   ], #
  0x1008 => [ undef,               $SSHORT,    1, undef                   ], #
  0x1009 => [ undef,               $SHORT,     1, undef                   ], #
  0x100a => [ undef,               $SHORT,     1, undef                   ], #
  0x100b => ['FocusMode',          $SHORT,     1, undef                   ], #
  0x100c => ['FocusDistance',      $RATIONAL,  1, undef                   ], #
  0x100d => ['Zoom',               $SHORT,     1, undef                   ], #
  0x100e => ['MacroFocus',         $SHORT,     1, undef                   ], #
  0x100f => ['Sharpness',          $SHORT,     1, undef                   ], #
  0x1010 => [ undef,               $SHORT,     1, undef                   ], #
  0x1011 => ['ColourMatrix',       $SHORT,     9, undef                   ], #
  0x1012 => ['BlackLevel',         $SHORT,     4, undef                   ], #
  0x1013 => [ undef,               $SHORT,     1, undef                   ], #
  0x1014 => [ undef,               $SHORT,     1, undef                   ], #
  0x1015 => ['WhiteBalance',       $SHORT,     2, undef                   ], #
  0x1016 => [ undef,               $SHORT,     1, undef                   ], #
  0x1017 => ['RedBias',            $SHORT,     2, undef                   ], #
  0x1018 => ['BlueBias',           $SHORT,     2, undef                   ], #

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

  0x103b => [ undef,               $SHORT,     1, undef                   ], #
  0x103c => [ undef,               $SHORT,     1, undef                ], }; #
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Panasonic_1'}{'tags'} =                                   #
{ 0x0001 => ['ImageQuality',       $SHORT,     1, '[23]'                  ], #
  0x0002 => ['FirmwareVersion',    $UNDEF,     4, '010\d'                 ], #
  0x0003 => ['WhiteBalance',       $SHORT,     1, '[1-58]'                ], #
  0x0007 => ['FocusMode',          $SHORT,     1, '[12]'                  ], #
  0x000f => ['SpotMode',           $BYTE,      2, undef                   ], #
  0x001a => ['ImageStabilizer',    $SHORT,     1, '[2-4]'                 ], #
  0x001c => ['MacroMode',          $SHORT,     1, '[129]'                 ], #
  0x001f => ['ShootingMode',       $SHORT,     1, '([2-9]|1[1389]|2[01])' ], #
  0x0020 => ['Audio',              $SHORT,     1, '[12]'                  ], #
  0x0021 => [ undef,               $UNDEF, undef, undef                   ], #
  0x0022 => [ undef,               $SHORT,     1, undef                   ], #
  0x0023 => ['WhiteBalanceAdjust', $SHORT,     1, $IFD_integer            ], #
  0x0024 => ['FlashBias',          $SHORT,     1, $IFD_integer            ], #
  0x0025 => [ undef,               $UNDEF,    16, undef                   ], #
  0x0026 => [ undef,               $UNDEF,     4, '0100'                  ], #
  0x0027 => [ undef,               $SHORT,     1, undef                   ], #
  0x0028 => ['ColourEffect',       $SHORT,     1, '[1-5]'                 ], #

lib/Image/MetaData/JPEG/data/Makernotes.pl  view on Meta::CPAN

  0x0e00 => ['PrintIM_Data',       $UNDEF, undef, undef                   ], # 
  0x1001 => [ undef,               $UNDEF, undef, undef                   ], #
  0x1002 => [ undef,               $LONG,      1, undef                   ], #
  0x1003 => [ undef,               $LONG,      1, undef                   ], #
  0x2001 => ['CameraInfoIFD',      $UNDEF, undef,'\[Ricoh Camera Info\].*'] };
#----------------------------------------------------------------------------#
$$HASH_MAKERNOTES{'Sanyo'}{'tags'} =                                         #
{ 0x0100 => ['JPEGThumbnail',      $UNDEF, undef, '\377\330\377.*'        ], #
  0x0200 => ['SpecialMode',        $LONG,      3, $IFD_integer            ], #
  0x0201 => ['JPEGQuality',        $SHORT,     1, '[\000-\007][\000-\002]'], #
  0x0202 => ['Macro',              $SHORT,     1, '[0-3]'                 ], #
  0x0203 => [ undef,               $SHORT,     1, '[0]'                   ], #
  0x0204 => ['DigitalZoom',        $RATIONAL,  1, $IFD_integer            ], #
  0x0207 => ['SoftwareRelease',    $ASCII, undef, $IFD_Cstring            ], #
  0x0208 => ['PictInfo',           $ASCII, undef, '[\040-\176]*'          ], #
  0x0209 => ['CameraID',           $UNDEF,    32, '.*'                    ], #
  0x020e => ['SequentShotMethod',  $SHORT,     1, '[0-3]'                 ], #
  0x020f => ['WideRange',          $SHORT,     1, '[01]'                  ], #
  0x0210 => ['ColourAdjustMode',   $SHORT,     1, $IFD_integer            ], #
  0x0213 => ['QuickShot',          $SHORT,     1, '[01]'                  ], #
  0x0214 => ['SelfTimer',          $SHORT,     1, '[01]'                  ], #

t/test_photo.desc  view on Meta::CPAN

 	 	 	[            SensingMethod]<0xa217> = [    SHORT]  2
 	 	 	[               FileSource]<0xa300> = [    UNDEF] '\03'
 	 	 	[                SceneType]<0xa301> = [    UNDEF] '\01'
 	 	 	[      MakerNoteData_Kodak]<......> = [REFERENCE] <MakerNote> --> 0x837b24c
 	 	 	[                  Interop]<......> = [REFERENCE] <InteroperabilityOffset> --> 0x837b348
 	 	 	 	********** APP1 --> IFD0 --> SubIFD --> MakerNoteData_Kodak ********** (45 records)
 	 	 	 	[                  special]<......> = [REFERENCE]  --> 0x837b234
 	 	 	 	[                ---0x0001]<......> = [     BYTE]  3
 	 	 	 	[              Compression]<......> = [     BYTE]  2
 	 	 	 	[                BurstMode]<......> = [     BYTE]  0
 	 	 	 	[                MacroMode]<......> = [     BYTE]  0
 	 	 	 	[          PixelXDimension]<......> = [    SHORT]  2160
 	 	 	 	[          PixelYDimension]<......> = [    SHORT]  1440
 	 	 	 	[                     Year]<......> = [    SHORT]  2000
 	 	 	 	[                    Month]<......> = [     BYTE]  11
 	 	 	 	[                      Day]<......> = [     BYTE]  4
 	 	 	 	[                     Hour]<......> = [     BYTE]  6
 	 	 	 	[                   Minute]<......> = [     BYTE]  36
 	 	 	 	[                   Second]<......> = [     BYTE]  53
 	 	 	 	[                SubSecond]<......> = [     BYTE]  17
 	 	 	 	[           ---BurstMode_2]<......> = [    SHORT]  0



( run in 0.330 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )