Image-ExifTool
view release on metacpan or search on metacpan
lib/Image/ExifTool/GoPro.pm view on Meta::CPAN
Name => 'GPSPos',
# UNIT=s,deg,deg,m,m,m/s,m/s,m/s,deg
# TYPE=LllllsssS
# SCAL=1000 10000000 10000000 1000 1000 100 100 100 100
RawConv => '$val', # necessary to use scaled value instead of raw data as subdir data
SubDirectory => { TagTable => 'Image::ExifTool::GoPro::GLPI' },
},
GPRI => { #PH (gpmd, Karma)
Name => 'GPSRaw',
# UNIT=s,deg,deg,m,m,m,m/s,deg,,
# TYPE=JlllSSSSBB
# SCAL=1000000,10000000,10000000,1000,100,100,100,100,1,1
Unknown => 1,
RawConv => '$val', # necessary to use scaled value instead of raw data as subdir data
SubDirectory => { TagTable => 'Image::ExifTool::GoPro::GPRI' },
},
GPS5 => { #2 (gpmd)
Name => 'GPSInfo',
# UNIT=deg,deg,m,m/s,m/s
# TYPE=l
# SCAL=10000000,10000000,1000,1000,100
RawConv => '$val', # necessary to use scaled value instead of raw data as subdir data
SubDirectory => { TagTable => 'Image::ExifTool::GoPro::GPS5' },
},
GPS9 => { #PH (gpmd, Hero 13)
Name => 'GPSInfo9',
# UNIT=deg,deg,m,m/s,m/s,,s,,
# TYPE=lllllllSS
# SCAL=10000000 10000000 1000 1000 100 1 1000 100 1
RawConv => '$val', # necessary to use scaled value instead of raw data as subdir data
SubDirectory => { TagTable => 'Image::ExifTool::GoPro::GPS9' },
},
GPSF => { #2 (gpmd)
Name => 'GPSMeasureMode',
PrintConv => {
2 => '2-Dimensional Measurement',
3 => '3-Dimensional Measurement',
},
},
GPSP => { #2 (gpmd)
Name => 'GPSHPositioningError',
Description => 'GPS Horizontal Positioning Error',
ValueConv => '$val / 100', # convert from cm to m
},
GPSU => { #2 (gpmd)
Name => 'GPSDateTime',
Groups => { 2 => 'Time' },
# (HERO5 writes this in 'c' format, HERO6 writes 'U')
ValueConv => '$val =~ s/^(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/20$1:$2:$3 $4:$5:/; $val',
PrintConv => '$self->ConvertDateTime($val)',
},
GYRO => { #2 (gpmd)
Name => 'Gyroscope',
Notes => 'gyroscope readings in rad/s',
Binary => 1,
},
LOGS => 'HealthLogs',
HCTL => 'HorizonControl', #3
HDRV => { Name => 'HDRVideo', PrintConv => \%noYes }, #3/PH (NC)
# HFLG (APP6) - seen: 0
HSGT => 'HindsightSettings', #3
ISOE => 'ISOSpeeds', #PH (gpmd)
ISOG => { #2 (gpmd)
Name => 'ImageSensorGain',
Binary => 1,
},
KBAT => { #PH (gpmd) (Karma)
Name => 'BatteryStatus',
# UNIT=A,Ah,J,degC,V,V,V,V,s,%,,,,,%
# TYPE=lLlsSSSSSSSBBBb
# SCAL=1000,1000,0.00999999977648258,100,1000,1000,1000,1000,0.0166666675359011,1,1,1,1,1,1
RawConv => '$val', # necessary to use scaled value instead of raw data as subdir data
SubDirectory => { TagTable => 'Image::ExifTool::GoPro::KBAT' },
},
# KLNS (GPMF-BACK/FRNT) - double[5] (fmt d, Max)
# LINF (GPMF) - seen: LAJ7061916601668,C3341326002180,C33632245450981 (fmt c) (Lens INFormation?)
# LMOD (GPMF) - seen: 'NONE' (fmt F)
LNED => { #PH (Karma)
Name => 'LocalPositionNED',
# UNIT=s,m,m,m,m/s,m/s,m/s
# TYPE=Lffffff
# SCAL=1000 1 1 1 1 1 1
Binary => 1,
},
MAGN => 'Magnetometer', #1 (gpmd) (units of uT)
MAPX => 'MappingXCoefficients', #3
MAPY => 'MappingYCoefficients', #3
# MFOV (GPMF-BACK/FRNT) - seen: 100 (fmt d, Max)
MINF => { #PH (GPMF - seen: HERO6 Black, fmt c)
Name => 'Model',
Groups => { 2 => 'Camera' },
Description => 'Camera Model Name',
},
MMOD => 'MediaMode', #3
# MTYP (GPMF) - seen: 0,1,5,11 [1 for time-lapse video, 5 for 360 video, 11 for JPEG] (fmt B) - MediaType (ref 3)
MUID => { Name => 'MediaUID', ValueConv => 'join("-", unpack("H8H4H4H4H12", $val))' },
MXCF => 'MappingXMode', #3
MYCF => 'MappingYMode', #3
ORDP => { Name => 'OrientationDataPresent', PrintConv => \%noYes }, #3
OREN => { #PH (GPMF - seen: 'U', fmt c)
Name => 'AutoRotation',
PrintConv => {
U => 'Up',
D => 'Down', # (NC)
A => 'Auto', # (NC)
},
},
# (most of the "P" tags are Protune settings - PH)
PHDR => 'HDRSetting', #PH (APP6 - seen: 0)
PIMD => 'ProtuneISOMode', #3
PIMN => 'AutoISOMin', #PH (GPMF - seen: 100, fmt L)
PIMX => 'AutoISOMax', #PH (GPMF - seen: 1600, fmt L)
POLY => 'PolynomialCoefficients', #3
# PRAW (APP6) - seen: 0, 'N', 'Y' (fmt c)
# PRCN (GPMF) - seen: 65 zeros (fmt B)
PRES => 'PhotoResolution', #PH (APP6 - seen: '12MP_W')
PRJT => 'LensProjection', #3
# PRNA (GPMF) - seen 10 (fmt B) - PresetIDs (ref 3)
# PRNU (GPMF) - seen 0 (fmt B) - PresetIDs (ref 3)
PRTN => { #PH (GPMF - seen: 'N', fmt c)
Name => 'Protune',
( run in 2.383 seconds using v1.01-cache-2.11-cpan-71847e10f99 )