You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

56 lines
1.7 KiB

#------------------------------------------------------------------------------
# File: depthmap.config
#
# Description: Composite tag definitions to extract DepthMap and ConfidenceMap
# images from Google Dynamic-depth images
#
# Usage: exiftool -config depthmap.config -W %d%f_%t.%s -depthmap -confidencemap -b DIR
#
# Requires: ExifTool version 11.88 or later
#
# Revisions: 2020/02/20 - P. Harvey Created
#------------------------------------------------------------------------------
sub GetTrailerImage($$)
{
my ($val, $type) = @_;
my @uri = ref $$val[1] ? @{$$val[1]} : $$val[1];
my @len = ref $$val[2] ? @{$$val[2]} : $$val[2];
my $start = 0;
for (my $i=0; $i<@uri; ++$i) {
if ($uri[$i] =~ /$type/) {
my $img = substr(${$$val[0]}, $start, $len[$i]);
return \$img;
}
$start += $len[$i];
}
return undef;
}
%Image::ExifTool::UserDefined = (
'Image::ExifTool::Composite' => {
DepthMap => {
Require => {
0 => 'Trailer',
1 => 'ContainerDirectoryItemDataURI',
2 => 'ContainerDirectoryItemLength',
},
ValueConv => 'GetTrailerImage(\@val, "depthmap")',
},
ConfidenceMap => {
Require => {
0 => 'Trailer',
1 => 'ContainerDirectoryItemDataURI',
2 => 'ContainerDirectoryItemLength',
},
ValueConv => 'GetTrailerImage(\@val, "confidencemap")',
},
},
);
%Image::ExifTool::UserDefined::Options = (
RequestTags => 'Trailer',
);
#------------------------------------------------------------------------------
1; #end