Branch Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
branch 1846 2972 62.1


line true false branch
2030 223 0 unless (defined $str)
2031 0 223 unless defined $Image::ExifTool::evalWarning
2034 205 18 if $str =~ /(.*) at /s
2094 508 9 if (ref $_[0] and UNIVERSAL::isa($_[0], 'Image::ExifTool')) { }
2129 377 17030 unless (exists $options->{$param})
2131 0 377 if ($fixed) { }
2138 0 59 if (ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand')
2142 12487 4920 unless @_
2144 78 4842 if ($param eq 'Lang') { }
7 4835 elsif ($param eq 'Exclude' and defined $newVal) { }
364 4471 elsif ($param =~ /^Charset/ or $param eq 'IPTCCharset') { }
59 4412 elsif ($param eq 'UserParam') { }
102 4310 elsif ($param eq 'RequestTags') { }
59 4251 elsif ($param eq 'IgnoreTags') { }
10 4241 elsif ($param eq 'ListJoin') { }
78 4163 elsif ($param eq 'List') { }
1 4162 elsif ($param eq 'Compact' or $param eq 'XMPShorthand') { }
2146 0 78 unless defined $newVal
2147 59 19 if ($newVal eq $Image::ExifTool::defaultLang) { }
2153 19 0 if ($langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal")
2156 19 0 if (%$xlat)
2165 6 1 if (ref $newVal eq 'ARRAY') { }
2174 245 119 if ($newVal) { }
119 0 elsif ($param eq 'CharsetEXIF' or $param eq 'CharsetFileName' or $param eq 'CharsetRIFF') { }
0 0 elsif ($param eq 'CharsetQuickTime') { }
2176 245 0 if ($charset) { }
2179 1 244 if $param eq "IPTCCharset"
2192 0 59 unless defined $newVal
2195 59 0 if (ref $newVal eq "HASH")
2208 0 0 if ($newVal =~ /(.*?)=(.*)/s) { }
2211 0 0 if $paramName =~ s/\^$//
2220 0 0 if (defined $newVal)
2221 0 0 if (length $newVal or $force) { }
2229 0 0 unless $param =~ s/#$//
2233 43 59 if (defined $newVal) { }
2235 43 0 ref $newVal eq 'ARRAY' ? :
2238 43 0 unless $options->{$param}
2240 0 63 unless /^(.*:)?([-\w?*]*)#?$/
2241 63 0 if $2
2242 63 0 unless $1
2250 0 59 if (defined $newVal) { }
2252 0 0 ref $newVal eq 'ARRAY' ? :
2255 0 0 unless $options->{$param}
2257 0 0 unless /^(.*:)?([-\w?*]+)#?$/
2266 4 6 if (defined $newVal) { }
2276 78 0 $newVal ? :
2281 1 1 $param eq $p ? :
2282 1 1 if (defined $val)
2284 0 1 $p eq 'Compact' ? :
2286 0 1 unless my $set = $$opt{lc $_}
2287 1 0 unless ref $set
2295 65 4097 if ($param eq 'Escape') { }
60 4037 elsif ($param eq 'GlobalTimeShift') { }
0 4037 elsif ($param eq 'TimeZone' and defined $newVal and length $newVal) { }
60 3977 elsif ($param eq 'Validate') { }
2297 0 65 if (defined $newVal and $newVal eq 'XML') { }
5 60 elsif (defined $newVal and $newVal eq 'HTML') { }
2315 1 59 if $newVal
2419 0 490 if (%Image::ExifTool::UserDefined::Options)
2444 2 528 if (ref $_[1] eq 'HASH' and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB') { }
2461 1 516 if (defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'})
2465 0 12 if $options->{'HtmlDump'}
2467 1 11 if $req->{'validate'}
2469 11 1 if (defined $_[0])
2485 61 467 if $req->{'now'} or $reqAll
2486 61 467 if $req->{'newguid'} or $reqAll
2488 61 467 if $req->{'filesequence'} or $reqAll
2490 61 467 if ($req->{'processingtime'} or $reqAll)
2492 0 0 if (not @startTime and $req->{'processingtime'})
2498 0 528 if ($req->{'imagedatamd5'} and not $self->{'ImageDataMD5'})
2499 0 0 if (require Digest::MD5) { }
2510 2 6 if $altExifTool->{'DID_EXTRACT'}
2518 310 260 unless $ex
2531 486 44 unless ($raf)
2533 486 0 if (defined $filename and $filename ne '') { }
2534 486 0 unless ($filename eq "-")
2536 0 486 if $realname =~ /\|$/
2539 61 425 if ($req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'})
2542 61 0 $name =~ /(.*)\./ ? :
2544 486 0 if defined $dir and length $dir
2545 61 425 if ($req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'})
2549 61 0 if (eval { do { require Cwd } }) { }
0 0 elsif ($req->{'filepath'}) { }
2551 61 0 if defined $path
2557 0 486 if $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2559 0 486 if ($^O eq "MSWin32" and eval { do { require Win32API::File } })
2562 0 0 if ($self->EncodeFileName($zfile)) { }
2567 0 0 unless $wattr == Win32API::File::INVALID_FILE_ATTRIBUTES()
2571 486 0 if ($self->Open(\*EXIFTOOL_FILE, $filename)) { }
0 0 elsif ($self->IsDirectory($filename)) { }
2576 0 486 if $filename eq "-" or $filename =~ /\|$/
2590 2 528 if ($reEntry) { }
0 528 elsif (not $raf) { }
22 506 elsif (not $raf->{'FILE_PT'}) { }
506 0 elsif (-f $raf->{'FILE_PT'}) { }
2602 0 506 if $^O eq "MSWin32"
2609 506 24 if defined $stat[7]
2610 0 530 if $rsize
2611 0 530 if $zid
2612 506 24 if defined $stat[9]
2613 506 24 if defined $stat[8]
2614 0 530 $^O eq 'MSWin32' ? :
2615 506 24 if defined $stat[10]
2616 506 24 if defined $stat[2]
2618 506 24 if (@stat)
2620 61 445 if ($sys or $req->{'fileattributes'})
2623 0 0 if ($^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-")
2625 0 0 if (eval { do { require Win32API::File } })
2628 0 0 if ($self->EncodeFileName($file)) { }
2633 0 0 if defined $wattr and $wattr != 4294967295
2638 61 445 if $sys or $req->{'filedevicenumber'}
2639 61 445 if $sys or $req->{'fileinodenumber'}
2640 61 445 if $sys or $req->{'filehardlinks'}
2641 61 445 if $sys or $req->{'fileuserid'}
2642 61 445 if $sys or $req->{'filegroupid'}
2643 61 445 if $sys or $req->{'filedeviceid'}
2644 61 445 if $sys or $req->{'fileblocksize'}
2645 61 445 if $sys or $req->{'fileblockcount'}
2648 0 0 if ($^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize)
2653 0 0 if ($crDate or $mdItem or $xattr)
2655 0 0 if $crDate
2656 0 0 if $mdItem and $plainFile
2657 0 0 if $xattr
2661 0 530 if ($isDir or defined $stat[2] and ($stat[2] & 61440) == 16384)
2664 0 0 if $options->{'Composite'}
2665 0 0 if $raf
2673 0 305 if defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2675 0 530 if ($fast >= 4)
2676 0 0 if (@fileTypeList) { }
2682 0 0 if $fast == 4 and $options->{'Composite'}
2685 483 47 if (@fileTypeList) { }
2690 482 1 unless ($fast == 3)
2707 0 530 unless $raf->Read($buff, $Image::ExifTool::testLen)
2708 0 530 unless $raf->Seek($pos, 0)
2712 1925 0 if ($type) { }
0 0 elsif (not defined $type) { }
0 0 elsif ($recognizedExt) { }
2713 1889 36 if ($Image::ExifTool::magicNumber{$type}) { }
2715 1355 2 unless $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2718 0 36 if defined $moduleName{$type} and not $moduleName{$type}
2719 0 36 if $fast > 2
2721 0 570 if $weakMagic{$type} and defined $recognizedExt
2728 0 0 unless $buff =~ /(\xff\xd8\xff|MM\0\x2a|II\x2a\0)/g
2729 0 0 $1 eq "\377\330\377" ? :
2732 0 0 unless $raf->Seek($pos + $skip, 0)
2734 0 0 unless $self->{'DOC_NUM'}
2738 25 545 $type eq 'TIFF' ? :
2740 0 570 if ($fast == 3 and not $processType{$type})
2741 0 0 unless ($weakMagic{$type} and !$ext || $ext ne $type)
2747 181 389 unless defined $module
2751 305 265 if ($module) { }
0 265 elsif ($module eq '0') { }
2768 530 40 if ($result)
2769 0 530 if ($unkHeader)
2778 0 40 unless $raf->Seek($pos, 0)
2780 0 0 unless (defined $type or $self->{'DOC_NUM'})
2786 0 0 if (not length $buff) { }
2790 0 0 if (length $buff < 16 or $buff =~ /[^\Q$ch\E]/) { }
2791 0 0 if ($fileType eq 'RAW') { }
0 0 elsif ($fileType) { }
2800 0 0 if ($self->{'OPTIONS'}{'FastScan'}) { }
2805 0 0 unless $raf->Read($buff, 65536)
2806 0 0 if $buff =~ /[^\Q$ch\E]/g
2809 0 0 if ($num) { }
2815 0 0 if ($ch eq "\000") { }
0 0 elsif ($ch eq ' ') { }
0 0 elsif ($ch =~ /[a-zA-Z0-9]/) { }
2828 0 530 if ($seekErr) { }
0 1060 elsif ($self->Options('ScanForXMP') and not defined $type && ($fast || $self->{'FoundXMP'})) { }
2836 0 0 if &Image::ExifTool::XMP::ScanForXMP($self, $raf)
2839 37 213 if (defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'})
2846 528 2 unless ($reEntry)
2849 519 9 if $options->{'Composite'}
2851 0 528 if ($self->{'HTML_DUMP'})
2855 0 0 unless defined $pos
2856 0 0 defined $self->{'EXIF_DATA'} ? :
2857 0 0 if defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
2858 0 0 if $self->{'ExtendedEXIF'}
2861 0 0 $self->{'FILENAME'} ? :
2862 0 0 if $success < 0
2865 488 42 if ($filename)
2868 0 0 if ($rsize and $options->{'ExtractEmbedded'})
2870 0 0 if ($self->Open(\*RESOURCE_FILE, "$filename/..namedfork/rsrc")) { }
2885 1 529 if ($options->{'Validate'} and not $reEntry)
2889 61 469 if @startTime
2892 0 530 if (%{$options->{'UserParam'};})
2896 0 0 unless /#$/
2897 0 0 if ($doMsg)
2906 12 518 if %saveOptions
2908 2 528 if ($reEntry) { }
0 528 elsif ($self->{'ImageDataMD5'}) { }
2915 0 0 unless $digest eq "d41d8cd98f00b204e9800998ecf8427e"
2919 0 530 if not defined $type or exists $self->{'VALUE'}{'Error'}
2938 182 517 unless (@_ and not defined $_[0])
2941 120 62 unless defined $self->{'FILENAME'}
2950 654 45 $self->{'OPTIONS'}{'PrintConv'} ? :
2953 966 34733 unless defined $val
2958 4 695 if (@$byValue)
2967 9 16 unless defined $val
2971 16 0 unless (defined $self->{'VALUE'}{$vtag})
2977 14 2 unless $nonVal{$tag}
2986 411 288 if (%ignored)
2987 194 217 if (not @$reqTags) { }
41 176 elsif (@$wildTags) { }
2990 22360 521 unless $ignored{$_}
2998 197 159 if (@$wildTags and $i == $wildTags->[0]) { }
3000 197 0 unless $ignored{$_}
3011 6 693 if ($self->{'IO_TAG_LIST'})
3015 3 0 unless @$reqTags or $sort and $sort ne "Input"
3021 182 517 if %saveOptions
3038 429 7 if (ref $info eq 'HASH') { }
7 0 elsif (ref $info eq 'ARRAY') { }
3046 436 0 if ($foundTags) { }
3050 24342 0 if defined $fileOrder->{$_}
3054 0 0 if $info and not $sort
3055 0 0 unless $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3057 16 420 unless $sort
3060 19 417 unless $sort and $sort ne "Input"
3062 0 417 if ($sort eq 'Tag' or $sort eq 'Alpha') { }
414 3 elsif ($sort =~ /^Group(\d*(:\d+)*)/) { }
0 3 elsif ($sort eq 'Descr') { }
3074 1505 21954 unless $num
3077 414 0 unless $sort2
3078 414 0 if ($sort2)
3079 0 414 if ($sort2 eq 'Tag' or $sort2 eq 'Alpha') { }
0 414 elsif ($sort2 eq 'Descr') { }
3080 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3084 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3088 0 35545 unless $groupOrder{$a} <=> $groupOrder{$b}
3107 0 1 unless my $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3139 0 53826 if ($tag =~ /^(.*):(.+)/)
3145 0 0 if defined $rawValue->{$key}
3146 0 0 if $i <= 0
3149 0 0 if (@keys)
3151 0 0 if $key
3155 53803 23 if ($type) { }
3156 0 53803 if $type eq "Rational"
3158 23 0 $self->{'OPTIONS'}{'PrintConv'} ? :
3163 10274 43552 if (not defined $value) { }
3164 10080 194 unless ref $tag
3170 194 0 if ($type ne "Raw")
3172 170 24 unless $type eq "ValueConv"
3176 53 43499 if ($tagInfo->{'Struct'} and ref $value)
3182 48 5 unless ($type eq "Both")
3191 43499 0 if ($type ne "Raw")
3194 6643 36856 if ($both) { }
3195 2272 4371 if ($type eq 'PrintConv') { }
96 4275 elsif ($type eq 'ValueConv') { }
3199 40 56 unless defined $value
3205 35219 1637 unless $type eq "ValueConv"
3214 650 70678 if ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3216 46097 24581 unless (defined $conv)
3217 29305 16792 if ($convType eq 'ValueConv') { }
3218 28903 402 unless $tagInfo->{'Binary'}
3222 16591 201 unless defined($conv = $tagInfo->{'Table'}{'PRINT_CONV'})
3223 49 152 if exists $tagInfo->{$convType}
3227 2112 23023 if $type eq "Both" and $convType eq "PrintConv"
3230 125 25010 if (ref $conv eq "ARRAY")
3233 0 125 ref $value eq 'ARRAY' ? :
3237 7 118 if ($relist) { }
3241 7 7 if (ref $oldIndex) { }
3243 16 0 if defined $valList[$_]
3245 7 0 if @join
3249 12 2 if defined $newVal
3255 0 125 unless @$value
3258 156 24979 if (ref $value eq 'ARRAY') { }
3259 7 149 if (defined $tagInfo->{'RawJoin'}) { }
3271 25330 19 if (defined $conv) { }
3273 2959 22371 if (ref $val eq "HASH" and not @val)
3281 0 17346 unless defined $val->{$_}
3284 16963 383 if defined $val[$_] or not $tagInfo->{'Require'}{$_}
3285 0 383 if defined $oldFilter
3289 8 2568 if defined $oldFilter
3292 0 2576 ref $conv eq 'CODE' ? :
3294 7668 17279 if (ref $conv eq 'HASH') { }
3296 455 7213 unless (defined($value = $conv->{$val}))
3297 126 329 if ($conv->{'BITMASK'}) { }
3301 254 75 if ($conv->{'OTHER'})
3305 0 254 if $Image::ExifTool::evalWarning
3307 77 252 unless (defined $value)
3308 0 77 if ($tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq 'PrintConv') { }
3320 261 45 if ($self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'})
3325 0 261 if ($conv->{'BITMASK'} and not defined $conv->{$val}) { }
213 48 elsif (defined($tmp = $tmp->{$value})) { }
3328 0 0 if defined $tmp->{$_}
3339 847 16432 if (ref $conv eq 'CODE') { }
3344 0 16432 if $@
3346 0 17279 if $Image::ExifTool::evalWarning
3351 24603 363 unless $vals
3353 3 360 if (ref $value eq "SCALAR")
3358 363 0 if defined $value
3359 149 214 if (++$i >= scalar @$vals)
3360 149 0 if @values
3364 133 81 if ($convList)
3366 0 133 if ($nextConv and $nextConv eq 'REPEAT') { }
3374 571 24181 unless defined $value
3376 125 24056 if ($convList and ref $value eq "ARRAY")
3377 117 8 $convType eq 'PrintConv' ? :
3380 7661 35078 if ($type eq "Both")
3383 3386 4275 unless $both
3385 0 7661 if ($self->{'ESCAPE_PROC'}) { }
3822 3839 elsif (not defined $valueConv) { }
3387 0 0 if (defined $valueConv) { }
3401 163 34915 if $self->{'ESCAPE_PROC'}
3404 441 34637 if $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3406 291 34787 if (ref $value eq "ARRAY")
3407 3 288 if (defined $self->{'OPTIONS'}{'ListItem'}) { }
1 287 elsif (wantarray) { }
164 226 elsif ($type eq 'PrintConv' and not $self->{'OPTIONS'}{'List'} and not ref $value->[0]) { }
3430 2 23470 unless $tagInfo and defined $tagInfo->{'TagID'}
3432 0 23470 if wantarray
3448 23472 0 if ($tagInfo)
3452 718 129 if ($desc) { }
3454 263 455 if ref $desc
3459 0 1 unless $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3460 0 1 if ref $desc
3464 0 710 if $self->{'ESCAPE_PROC'}
3471 9546 13216 unless ($desc)
3474 9546 0 if $tagInfo
3494 121527 70642 if (ref $tag eq 'HASH') { }
3506 36088 156081 unless ($tagInfo->{'GotGroups'})
3509 30824 5264 unless $groups
3512 100914 7350 unless $groups->{$_}
3517 99575 92594 if (defined $family and $family ne '-1') { }
3518 2736 96839 if ($family =~ /[^\d]/) { }
3520 0 2736 unless @families
3521 2736 0 unless $family =~ /^:/
3524 0 2736 if @families == 1 and $families[0] != 7
3526 67984 28855 if $family == 0 or $family == 2
3530 380 92214 unless wantarray
3534 4738 119067 $tag =~ /\((\d+)\)$/ ? :
3536 44888 78917 unless ($byTagInfo)
3537 17455 27433 if ($ex)
3538 314 17141 if $ex->{'G0'}
3539 384 16046 $ex->{'G1'} =~ /^\+(.*)/ ? :
16430 1025 if $ex->{'G1'}
3540 1306 16149 if $ex->{'G3'}
3541 255 17200 if defined $ex->{'G5'}
3542 0 17455 if (defined $ex->{'G6'})
3543 0 0 unless defined $groups[5]
3547 16 44872 if ($ex->{'G8'})
3552 44888 0 unless ($noID)
3554 2 44886 if (not defined $id) { }
28376 16510 elsif ($id =~ /^\d+$/) { }
3557 0 28376 if $self->{'OPTIONS'}{'HexTagIDs'}
3565 44262 79543 if ($family)
3566 28855 15407 if $family > 0
3570 34 15373 if ($groups[1] =~ /^MIE(\d*)-(.+?)(\d*)$/)
3572 0 34 $1 ? :
3573 0 34 $3 ? :
3574 0 34 $1 ? :
0 34 $3 ? :
3577 2736 92214 if (@families)
3582 0 5472 unless ($grp)
3583 0 0 if $simplify
3586 5456 16 unless $simplify and @grps and $grp eq $grps[-1]
3589 0 2736 if $simplify and @grps > 1 and $grps[0] eq "Main"
3610 2 1 if (ref $info ne 'HASH') { }
3616 0 3 unless defined $family
3635 0 490 unless @groups
3671 41138 3114 unless $Image::ExifTool::specialTags{$_}
3675 3114 41138 if $Image::ExifTool::specialTags{$tag}
3677 260 40878 unless $tagInfo
3691 9154 88482 unless ($reqTag)
3693 0 9154 if $index == 0
3696 285 88197 if ($subDoc) { }
27352 60845 elsif ($reqTag =~ /^(.*):(.+)/) { }
5063 111564 elsif ($notBuilt{$reqTag} and not $inhibit->{$index}) { }
3701 0 285 $reqTag =~ s/\b(Main|Doc(\d+)):// ? :
3705 285 0 unless ($cacheTag)
3708 285 0 if $reqTag =~ s/^(.*)://
3712 0 285 if defined $rawValue->{$key}
3713 285 0 if $i <= 0
3716 285 0 if defined $reqGroup
3717 0 285 if (@keys)
3721 0 0 $ex->{$_} ? :
3728 2142 677 if ($reqGroup eq "Composite" and $notBuilt{$name})
3731 1693 449 unless ($inhibit->{$index} and $allBuilt)
3739 1 1 if ($reqTag =~ /\b(File\d+):/i and $self->{'ALT_EXIFTOOL'}{$1})
3745 3744 22566 if defined $et->{'VALUE'}{$key}
3746 25659 651 if $i <= 0
3750 1 25658 if $altFile
3760 16571 65155 if (defined $rawValue->{$reqTag}) { }
24898 40257 elsif ($require->{$index}) { }
3761 70 16501 if ($inhibit->{$index}) { }
3773 0 34122 if ($docNum) { }
5379 28743 elsif ($found) { }
3775 24968 elsif (not defined $found) { }
3774 0 0 if ($found)
3778 0 0 unless $compKeys->{$_}
3784 0 0 if ++$docNum <= $self->{'DOC_COUNT'}
3793 19106 4745 unless $compositeID{$tagKey{$_}}
3797 6406 17445 unless $compKeys->{$_}
3805 33927 195 unless $subDoc
3808 165 30 if (%$require) { }
3812 165 0 unless defined $rawValue->{$reqTag}
3816 30 0 ref $tagInfo->{'SubDoc'} ? :
3819 0 60 unless my $desTag = $desire->{$_}
3821 0 60 if defined $rawValue->{$desTag}
3823 30 0 unless $docNum
3827 519 1747 unless @deferredTags
3828 449 1298 if (@deferredTags == @tagList)
3829 0 449 if ($allBuilt)
3849 0 11 unless $compositeID{$tag}
3887 0 968 unless (defined $file)
3889 0 0 if (defined $desc and $desc eq '0') { }
3896 0 0 unless defined $module
3897 0 0 unless defined $module and $module eq 0
3904 66 902 unless ($fileExt)
3905 0 66 if ($file =~ s/ \((.*)\)$//)
3909 66 0 unless $fileExt
3911 926 42 if $fileExt
3915 0 968 if ($desc) { }
919 49 elsif ($fileType and !defined($desc) || $desc ne '0') { }
3916 0 0 if ($fileType) { }
3917 0 0 if ($Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}) { }
3925 0 0 if $subType
3930 0 919 if defined $mod and $mod eq 0
3932 49 919 unless $fileType
3934 689 230 if (wantarray) { }
230 0 elsif ($fileType) { }
3935 4 685 if ref $fileType eq "ARRAY"
3937 0 230 if ref $fileType eq "ARRAY"
3949 0 0 unless my $file = shift()
3950 0 0 unless my($type) = &GetFileType($file)
3951 0 0 if ($Image::ExifTool::noWriteFile{$type})
3954 0 0 grep(/^$ext$/, @{$Image::ExifTool::noWriteFile{$type};}) ? :
0 0 if $ext
3956 0 0 if ($onlyWriteFile{$type})
3958 0 0 grep(/^$ext$/, @{$onlyWriteFile{$type};}) ? :
0 0 if $ext
3960 0 0 unless (%writeTypes)
3973 0 23 unless my $file = shift()
3975 0 23 unless my $type = &GetFileType($file)
3976 23 0 if $createTypes{$ext} or $createTypes{$type}
3991 3220 22631 if /[a-z]/
4032 0 787 if ($self->Options("HtmlDump"))
4037 0 787 unless ref $self->{'OPTIONS'}{'TextOut'}
4051 0 2 if ($self->{'OPTIONS'}{'Duplicates'}) { }
4061 14 252 if $haveInfo{$tagName}
4077 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4088 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4102 72 72 $i ? :
4103 2 142 unless defined $value->{$key}
4104 70 72 if ($et->GetGroup($key, 1) eq $grp)
4121 0 18 $tag =~ s/ \((\d+)\)$// ? :
4123 0 18 if defined $self->{'VALUE'}{$tag}
4138 62 41 unless $$strPt =~ /([\x80-\xff])/g
4145 30 153 if $ch < 194 or $ch >= 248
4148 75 78 if ($ch < 224) { }
78 0 elsif ($ch < 240) { }
4159 1 152 unless ($$strPt =~ /\G([\x80-\xbf]{$n})/g)
4160 0 1 if $trunc and $pos + $n > length $$strPt
4164 77 75 if ($n == 2) { }
4165 0 1 if $ch == 224 and (ord $1 & 224) == 128 or $ch == 237 and (ord $1 & 224) == 160 or $ch == 239 and ord $1 == 191 and (ord substr($1, 1) & 254) == 190
4170 0 75 if $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
4173 10 142 unless $$strPt =~ /([\x80-\xff])/g
4186 486 0 if (eval { do { require File::Basename } }) { }
4192 0 0 if ($name =~ s[(.*)/][]) { }
4193 0 0 length $1 ? :
4210 0 1152 if ($enc) { }
0 1152 elsif ($^O eq 'MSWin32' and $file =~ /[\x80-\xff]/ and not defined $enc) { }
4211 0 0 if ($file =~ /[\x80-\xff]/ or $force)
4213 0 0 if ($^O eq 'MSWin32') { }
4215 0 0 if (eval { do { require Win32API::File } })
4223 0 0 unless $enc eq "UTF8"
4227 0 0 if &IsUTF8(\$file) < 0
4245 0 702 $file =~ /\|$/ && $self->{'TRUST_PIPE'} ? :
702 221 unless $mode
4247 923 0 if ($mode)
4248 0 923 if ($self->EncodeFileName($file)) { }
4252 0 0 if ($mode eq '>' or $mode eq '>>') { }
4255 0 0 if ($mode eq '>>') { }
4265 0 0 if $mode eq "+<"
4271 0 0 unless ($access & Win32API::File::GENERIC_WRITE())
4276 0 0 unless $wh
4278 0 0 if (not defined $fd or $fd < 0)
4300 0 222 if ($self->EncodeFileName($file)) { }
4306 0 0 unless $wh
4323 0 1 if ($et->EncodeFileName($file)) { }
4327 0 0 if $attrs and $attrs != 4294967295 and $attrs & $dirBit
4344 0 0 unless (ref $file)
4346 0 0 unless ($self->Open(\*FH, $file))
4347 0 0 if ($self->IsDirectory($file))
4349 0 0 if defined $rtn[0]
4357 0 0 if ($^O eq "MSWin32")
4358 0 0 if (not eval { do { require Win32::API } }) { }
0 0 elsif (not eval { do { require Win32API::File } }) { }
4365 0 0 unless ($win32Handle)
4372 0 0 unless ($k32GetFileTime)
4373 0 0 if defined $k32GetFileTime
4375 0 0 unless ($k32GetFileTime)
4381 0 0 unless ($k32GetFileTime->Call($win32Handle, $ctime, $atime, $mtime))
4419 155 1367 if (ref $arg and not overload::Method($arg, '""')) { }
881 486 elsif (defined $self->{'FILENAME'}) { }
4420 6 149 if (ref $arg eq 'ARRAY') { }
107 42 elsif (ref $arg eq 'HASH') { }
23 19 elsif (ref $arg eq 'SCALAR' or UNIVERSAL::isa($arg, 'GLOB')) { }
19 0 elsif (UNIVERSAL::isa($arg, 'File::RandomAccess')) { }
4423 2 13 if (/^-(.*)/) { }
4433 0 171 if (@oldGroupOpts and $opt =~ /^Group/)
4440 0 171 if $opt eq "Exclude"
4443 0 23 if defined $self->{'RAF'}
4446 0 22 if (ref $arg eq "SCALAR" and $] >= "5.006" and eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@)
4450 0 0 $] < 5.01 ? :
0 0 $@ ? :
4464 54 827 if ($arg =~ /^-(.*)/) { }
4474 46 664 if ($options->{'RequestTags'})
4478 362 348 if (@{$self->{'REQUESTED_TAGS'};})
4482 0 883 unless /^(.*:)?([-\w?*]*)#?$/
4483 883 0 if $2
4484 642 241 unless $1
4488 41 669 if (@exclude or $wasExcludeOpt)
4490 1 40 if $options->{'Exclude'}
4496 47 663 if ($options->{'Exclude'})
4498 63 1 if /([-\w]+)#?$/
4499 0 64 if (/(xmp-.*:[-\w]+)#?/i)
4500 0 0 unless $self->{'EXCL_XMP_LOOKUP'}
4505 6 41 if $self->{'TAGS_FROM_FILE'}
4517 1 1 if $grp eq $id
4518 0 1 if ($id =~ /^\d+$/) { }
4519 0 0 if $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
4522 0 1 if $tmp =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $tmp
4524 1 0 unless $id =~ s/-.*//
4538 0 26218 unless ref $tagList
4544 26795 0 if ($grps[$g] =~ s/^(\d*)(id-)?//i)
4545 2 26793 if length $1
4546 0 26795 if ($2)
4552 0 26795 if $grps[$g] eq "copy0"
4558 0 15871 if $grp eq "*" or $grp eq "all"
4560 3 15868 if (defined($f = $fmys[$g])) { }
4561 0 3 unless defined $groups[$f]
4562 0 3 if ($f == 7) { }
4563 0 0 if &IsSameID(scalar $self->GetTagID($tag), $grp)
4565 2 1 if $grp eq lc $groups[$f]
4569 10882 4986 unless grep /^$grp$/i, @groups
4572 4524 10883 if ($g == @grps)
4573 2062 2462 unless wantarray
4577 559 23597 wantarray ? :
4591 6 63 if (@$list1 or @$list2) { }
4595 154 79 if ($exclude->{$tag} xor $inv) { }
4597 1 8 $_ == $i ? :
3 9 $_ < $i ? :
4598 154 1108 $_ == $i ? :
6983 1262 $_ < $i ? :
4605 3143 3721 unless $exclude->{$_} xor $inv
4619 0 7 unless $g8 =~ /(\d+)/
4620 0 7 unless my $et = $self->{'ALT_EXIFTOOL'}{$g8}
4624 8 1 unless (defined $self->{'VALUE'}{$vtag})
4654 362 337 if (@$reqTags) { }
4655 362 0 unless $rtnTags
4662 241 642 if ($reqTag =~ /^(.*):(.+)/) { }
4664 0 241 if ($group =~ /^(\*|all)$/i) { }
6 235 elsif ($reqTag =~ /\bfile(\d+):/i) { }
0 235 elsif (not $group =~ /^[-\w:]*$/) { }
4678 15 0 if $tag =~ s/#$// and $options->{'PrintConv'}
4679 0 883 if (defined $tagHash->{$reqTag} and not $doDups) { }
139 744 elsif ($tag =~ /^(\*|all)$/i) { }
5 739 elsif ($tag =~ /[*?]/) { }
739 0 elsif ($doDups or defined $group) { }
0 0 elsif ($tag =~ /^[-\w]+$/) { }
4683 138 1 if ($doDups or $allGrp) { }
4688 0 139 unless @matches
4694 5 0 if $doDups or $allGrp
4696 0 5 unless @matches
4706 0 0 unless defined $matches[0]
4710 241 642 if (defined $group and not $allGrp)
4713 15 226 unless @matches or not $allTag
4715 146 722 if (@matches > 1) { }
445 277 elsif (not @matches) { }
4719 0 1 unless ($doDups or $allTag or $allGrp)
4724 0 0 unless defined $priority
4725 0 0 unless $priority >= $oldPriority
4733 9 436 $byValue ? :
4738 6 862 if ($g8)
4745 15 853 if $byValue
4747 129 739 if $allTag
4753 337 0 if ($doDups) { }
4764 41 27 if ($exclude)
4768 30 27 if ($pat =~ /^(.*):(.+)/) { }
4770 0 30 if ($group =~ /^(\*|all)$/i) { }
0 30 elsif (not $group =~ /^[-\w:]*$/) { }
4780 30 27 if ($tag =~ /^(\*|all)$/i) { }
4788 30 27 if $group and @matches
4791 41 0 if (%exclude)
4794 0 41 unless @$rtnTags
4796 40 1 if $duplicates and not @groupOptions
4804 0 29 unless $groupOpt =~ /^Group(\d*(:\d+)*)/
4806 29 0 unless $wantGroup{$family}
4808 4 25 if (ref $options->{$groupOpt} eq 'ARRAY') { }
4817 2 31 if (/^-(.*)/) { }
4836 3464 1212 unless defined $wanted
4837 177 1035 unless $wanted
4839 0 1035 if $wantTag and $wantTag < $wanted
4842 3281 1047 unless $wantTag
4843 382 665 if $duplicates
4847 28 637 if (defined $bestTag)
4848 14 14 if $wantTag > $keepTags{$bestTag}
4849 0 14 if ($wantTag == $keepTags{$bestTag})
4851 0 0 if ($tag =~ / \((\d+)\)$/)
4853 0 0 if not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
4869 699 0 wantarray ? :
4882 490 247 if $callInfo[$#callInfo] eq "DESTROY"
4883 187 60 if (@callInfo == 4) { }
1 59 elsif ($callInfo[-1] eq 'ShiftTime') { }
4893 0 247 unless eval { do { require $file } }
4894 0 247 unless (defined &$autoload)
4920 32 55 if ($ignorable)
4921 1 31 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4922 0 1 if $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
4923 2 29 $ignorable eq '2' ? :
4936 0 16 if $ignorable and $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4937 41 7 unless ($self->{'WARNED_ONCE'}{$str})
4951 0 1 if ($self->{'DemoteErrors'}) { }
1 0 elsif ($ignorable) { }
4952 0 0 if $self->Warn($str)
4955 1 0 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4970 0 516 unless $tagList and @$tagList
4975 54 462 $removeSuffix ? :
4980 1 1056 if (ref $entry)
4988 30 1026 if (not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s) { }
4990 23 7 if ($post =~ /^[-+]?>/ or not $post =~ /\$/)
4993 6 17 unless defined $p2
4994 0 23 $t2 =~ s/#$// ? :
4996 0 23 if ($match)
4998 0 0 if /^-/
4999 0 0 if ($p2 and /(.+:)(.+)/) { }
5005 0 0 unless @post
5013 309 747 if ($tag =~ /(.+:)(.+)/) { }
5018 4 1052 $tag =~ s/#$// ? :
5023 17 1039 if ($match) { }
5024 0 17 if ($excl) { }
1 16 elsif (length $pre or length $post or $v) { }
5027 0 0 if /^-/
5029 0 0 if ($pre and /(.+:)(.+)/) { }
5038 0 12 if ($2) { }
5051 1056 0 unless @post
5067 0 592 if (ref $add) { }
5081 495 97 if ($defaultGroups) { }
5082 494 1 unless $defaultGroups->{'0'}
5083 491 4 unless $defaultGroups->{'1'}
5084 0 495 unless $defaultGroups->{'2'}
5090 595 5135 if $Image::ExifTool::specialTags{$tagID}
5093 1155 3980 if $tagInfo->{'Writable'}
5094 0 5135 if $override and not defined $tagInfo->{'Override'}
5097 344 4791 if ($compositeID{$tagID})
5101 0 344 if $over < 0
5102 0 344 if ($over)
5112 0 0 if $n++
5116 5135 0 unless $tagID eq $new
5119 4791 344 unless $compositeID{$tagID}
5125 8676 6729 unless my $req = $tagInfo->{$type}
5126 5777 952 ref $req eq 'HASH' ? :
5128 952 4183 if (@scalars)
5147 2264 2871 unless $groups
5150 11686 3719 unless $groups->{$_}
5163 0 1 if (defined &Image::ExifTool::TagLookup::AddTags) { }
1 0 elsif (not $Image::ExifTool::pluginTags{$tagHash}) { }
5181 2518 2337 if (ref $flags eq 'ARRAY') { }
0 2337 elsif (ref $flags eq 'HASH') { }
5212 34722 192396 unless $tagInfo->{'Name'}
5213 4798 222320 if $tagInfo->{'Flags'}
5214 8933 218185 if defined $avoid
5216 2987 224131 if ($tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'})
5222 202522 3733 unless @infoArray > 1
5236 5624 2212 if $_[0] =~ /^[+-]?(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
5238 2212 0 unless $_[0] =~ /^[+-]?(?=\d|,\d)\d*(,\d*)?([Ee]([+-]?\d+))?$/
5261 6653 4048 unless defined $_
5263 4047 1 /((?:[+-]?)(?=\d|\.\d)\d*(?:\.\d*)?(?:[Ee](?:[+-]?\d+))?)/ ? :
5288 1154 208 unless $Image::ExifTool::swapBytes
5297 1300 0 unless $Image::ExifTool::swapWords and length $_[0] == 8
5309 157296 4394 if $_[2]
5316 12 0 if $_[2]
5325 7812 24515 if $_[2]
5332 0 0 if $_[2]
5344 5390 22435 if ($Image::ExifTool::swapBytes) { }
5350 0 27825 unless defined $val
5361 0 1236 unless defined $val
5384 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16s($dataPt, $pos + 2)
5392 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16u($dataPt, $pos + 2)
5399 0 0 $ratNumer ? :
0 681 unless $ratDenom = &Get32s($dataPt, $pos + 4)
5406 0 32 $ratNumer ? :
32 2799 unless $ratDenom = &Get32u($dataPt, $pos + 4)
5413 0 13 $val < 0 ? :
5425 1210 544 $val > 0 ? :
5452 7870 7614 if ($order eq 'MM') { }
7419 195 elsif ($order eq 'II') { }
15 180 elsif ($order =~ /^Big/i) { }
12 168 elsif ($order =~ /^Little/i) { }
5467 0 15316 if ($val == 16672) { }
15316 0 elsif ($val == 8257) { }
5493 4 35 &GetByteOrder() eq 'II' ? :
5578 0 36561 unless ($len)
5582 0 36561 unless defined $size
5583 1360 35201 unless ($count)
5584 29 1331 if defined $count or $size < $len
5588 3 36529 if ($len * $count > $size)
5590 3 0 if $count < 1
5594 6411 30118 if (not $proc) { }
3141 26977 elsif ($isRational{$format} and $ratPt) { }
5598 3820 2591 if $format eq "string"
5605 3141 307 if --$count <= 0
5612 26977 22460 if --$count <= 0
5616 412 36117 if wantarray
5617 3637 32480 if @vals > 1
5634 60 6177 unless $from
5635 5995 242 unless $to
5636 1089 5148 if ($from ne $to and length $val)
5640 1089 0 if ($cs1 and $cs2 and not $cs2 & 2) { }
0 0 elsif ($self) { }
5642 776 313 if (($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/)
5647 0 0 $cs1 ? :
5648 0 0 unless ($$self{"DecodeWarn$set"})
5675 135 40 unless $bits
5680 5908 140 unless $val & 1 << $i
5682 19 121 if (not $lookup) { }
115 6 elsif ($lookup->{$n}) { }
5692 80 95 unless @bitList
5693 76 19 $lookup ? :
5704 0 206 if $$imagePt eq "none"
5705 120 10 unless ($$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors"))
5712 0 120 if ($self->{'REQ_TAG_LOOKUP'}{lc &GetTagName($tag)})
5743 0 34815 if length $name < 2
5759 9728 612 unless defined $tagID
5767 621 9719 if defined $tagID
5796 12796 462 unless defined $filter and defined $$valPt
5798 446 16 if (not ref $$valPt) { }
12 4 elsif (ref $$valPt eq 'SCALAR') { }
4 0 elsif (ref $$valPt eq 'ARRAY') { }
0 0 elsif (ref $$valPt eq 'HASH') { }
5802 446 0 if (defined $_)
5831 0 593 unless defined $outStr
5835 593 0 if ($verbose < 4) { }
5836 592 1 if ($maxLen) { }
1 0 elsif (defined $maxLen) { }
5837 0 592 if $maxLen < 20
5846 0 0 if $maxLen > 2048 and $verbose < 5
5850 8 585 if length $outStr > $maxLen
5863 8 1793 if ($shift)
5864 8 0 $shift =~ s/^([-+])// && $1 eq '-' ? :
5866 1 7 unless $offset
5870 5 1796 if ($fmt)
5873 4 1 if $date =~ s/([-+]\d{2}:\d{2}|Z)$//
5879 5 0 if (@a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }) { }
0 0 elsif ($self->{'OPTIONS'}{'StrictDate'}) { }
5886 0 5 if ($fmt =~ /%(-?)\.?(\d*)f/)
5888 0 0 $date =~ /(\.\d+)/ ? :
5889 0 0 if (not $frac) { }
0 0 elsif (length $dig) { }
5890 0 0 if $dig
5892 0 0 if ($dig + 1 > length $frac) { }
0 0 elsif ($dig + 1 < length $frac) { }
5898 0 0 if ++$a[0] < 60
5900 0 0 if ++$a[1] < 60
5902 0 0 if ++$a[2] < 24
5905 0 0 if ++$a[3] <= DaysInMonth($a[4] + 1, $a[5])
5907 0 0 if ++$a[4] < 12
5914 0 0 if $neg
5918 0 5 if ($fmt =~ /%[sz]/)
5920 0 0 if not $tz and eval { do { require Time::Local } }
5922 0 0 $tz && $tz =~ /^([-+]\d{2}):(\d{2})$/ ? :
5924 0 0 if ($fmt =~ /%s/ and eval { do { require Time::Local } })
5946 3 0 if (&IsFloat($val) and $val != 0)
5947 2 1 if $mult
5948 0 3 if ($val < 60) { }
3 0 elsif ($val < 3600) { }
0 0 elsif ($val < 86400) { }
5951 2 1 $mult && $mult >= 60 ? :
5952 1 2 $val == 60 && $mult ? :
5971 0 36 if ($^O eq "MSWin32")
5990 0 942 if ($tm->[3] != $gm->[3])
5992 0 0 $tm->[3] == 1 ? :
0 0 if abs $tm->[3] - $gm->[3] != 1
5998 0 0 $min > 0 ? :
0 942 if $^O eq "mirbsd"
6010 942 41 if (ref $min)
6015 1 982 if $min < 0
6029 1 1044 if $time == 0
6031 0 1044 if ($dec) { }
6034 0 0 if $frac < 0
6037 0 0 if $dec =~ s/^(\d)// and $1 eq 1
6039 16 1028 if $time != int $time
6042 880 164 if ($toLocal) { }
6061 0 162 if $timeStr eq "0000:00:00 00:00:00"
6063 0 162 unless @tm == 7
6064 0 162 unless (eval { do { require Time::Local } })
6071 113 49 if ($isLocal)
6072 113 0 if ($tzStr =~ /(?:Z|([-+])(\d+):(\d+))/i) { }
0 0 elsif ($isLocal eq '2') { }
6074 55 52 $1 eq '-' ? :
107 6 if $1
6082 0 162 $isLocal ? :
6084 1 159 if $tzStr and $tzStr =~ /^(\.\d+)/
6095 108 198 if $val < 2000
6096 147 51 if $val < 10000
6097 47 4 if $val < 2000000
6098 3 1 if $val < 10000000
6099 1 0 if $val < 2000000000
6100 0 0 if $val < '10000000000'
6111 0 130 unless &IsFloat($time)
6112 69 61 if $time == 0
6113 61 0 $time > 0 ? :
6114 57 4 if $time < 30
6120 0 4 if ($h > 24)
6136 0 20 unless &IsFloat($bitrate)
6140 18 20 if $bitrate >= 1000 and @units
6141 13 7 $bitrate < 100 ? :
6154 0 972 if $enc
6166 0 1 if $enc
6178 0 0 unless $self->{'HTML_DUMP'}
6180 0 0 if $self->{'BASE'}
6183 0 0 if ($self->{'SkipData'})
6187 0 0 if $end <= $skip->[0]
6188 0 0 if $pos >= $skip->[1]
6189 0 0 if ($pos != $skip->[0])
6214 580 0 if $len > 64
6215 0 580 unless $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6216 29 551 if ($buff =~ /AXS(!|\*).{8}$/s) { }
29 522 elsif ($buff =~ /\xa1\xb2\xc3\xd4$/) { }
34 488 elsif ($buff =~ /cbipcbbl$/) { }
41 447 elsif ($buff =~ /^CANON OPTIONAL DATA\0/) { }
26 421 elsif ($buff =~ /~\0\x04\0zmie~\0\0\x06.{4}[\x10\x18]\x04$/s or $buff =~ /~\0\x04\0zmie~\0\0\x0a.{8}[\x10\x18]\x08$/s) { }
26 395 elsif ($buff =~ /\0\0(QDIOBS|SEFT)$/) { }
0 395 elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) { }
0 395 elsif ($buff =~ m[\0{6}/NIKON APP$]) { }
6238 185 395 $type ? :
6266 0 185 if ($dirName eq 'Insta360') { }
0 185 elsif ($dirName eq 'NikonApp') { }
6276 50 135 if ($outfile)
6278 35 15 if $$outfile
6301 50 135 if ($outfile) { }
0 135 elsif ($result < 0) { }
6302 50 0 if ($result > 0) { }
6303 33 17 if ($outBuff)
6307 33 0 if $fixup
6310 15 35 if ($dirInfo->{'Fixup'})
6311 7 8 if ($fixup)
6321 0 0 if $self->Error("Error rewriting $dirName trailer", 2)
6329 0 185 unless $result > 0 and $dirInfo->{'DirLen'}
6332 57 128 unless my $nextTrail = &IdentifyTrailer($raf, $offset)
6392 1178 1958 unless ($markerName)
6394 1178 0 if ($markerName and $markerName =~ /^([A-Z]+)\d+$/) { }
6412 275 299 if (defined $base)
6440 236 10 if ($self->{'FILE_TYPE'} eq "JPEG" and not $self->{'DOC_NUM'})
6446 0 246 unless $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
6447 2 244 if ($s eq "\377\1")
6448 0 2 unless $raf->Read($s, 5) == 5 and $s eq "Exiv2"
6453 0 246 if ($options->{'RequestAll'} and $options->{'RequestAll'} > 2)
6456 238 2 if (not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'})
6458 1 237 if $fast == 3
6461 1 244 if $self->Options("FastScan")
6463 245 0 if $verbose < 4
6464 0 245 if ($htmlDump)
6466 0 0 $s eq 'Exiv2' ? :
6468 0 0 if $pos
6491 1894 243 unless ($marker and $marker == 217 || $marker == 218 && !$wantTrailer && !$md5 || $marker == 147)
6496 0 1894 unless $raf->ReadLine($buff)
6500 0 1894 unless $raf->Read($ch, 1)
6502 1894 0 unless $nextMarker == 255
6506 1648 246 if (not defined $markerLenBytes{$nextMarker}) { }
0 246 elsif ($markerLenBytes{$nextMarker} == 4) { }
0 246 elsif ($md5 and defined $marker and $marker == 0 || $marker == 218 || $marker >= 208 && $marker <= 215) { }
6508 0 1648 unless $raf->Read($s, 2) == 2
6510 0 1648 unless defined $len and $len >= 2
6513 0 1648 unless $raf->Read($buff, $len) == $len
6517 0 0 unless $raf->Read($s, 4) == 4
6519 0 0 unless defined $len and $len >= 4
6522 0 0 unless $raf->Seek($len, 1)
6529 0 0 if (not $n) { }
0 0 elsif ($n > 1) { }
6538 246 1648 unless defined $marker
6544 0 0 if ($skipped and not $foundSOS and $markerName ne "SOS")
6546 0 0 if ($htmlDump)
6555 242 1652 if (($marker & 240) == 192 and $marker == 192 || $marker & 3) { }
3 1649 elsif ($marker == 217) { }
242 1407 elsif ($marker == 218) { }
1 1406 elsif ($marker == 147) { }
0 1406 elsif (defined $markerLenBytes{$marker}) { }
1 1604 elsif ($marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2) { }
6557 2 240 if ($verbose) { }
0 240 elsif ($htmlDump) { }
6559 1 1 if $verbose > 2
6564 0 242 unless $length >= 6
6573 0 242 unless $n == 3 and $length >= 15
6582 242 484 unless ($i)
6588 242 242 if $hf < $hmin
6589 0 484 if $hf > $hmax
6590 241 243 if $vf < $vmin
6591 0 484 if $vf > $vmax
6593 242 0 if ($hmin and $vmin)
6600 1 2 if $verbose
6602 0 3 if ($htmlDump and $dumpEnd)
6607 3 0 if ($foundSOS or $self->{'FILE_TYPE'} eq 'EXV') { }
6612 0 3 if ($req->{'trailer'})
6614 0 0 if ($raf->Seek(0, 2)) { }
6616 0 0 if ($len)
6619 0 0 if $raf->Read($buff, $len) == $len
6627 0 3 if ($wantTrailer)
6629 0 0 if ($start or $options->{'ExtractEmbedded'})
6635 0 0 $self->{'Make'} =~ /Sony/i ? :
6636 0 0 if ($raf->Read($buff, $scanLen))
6637 0 0 if ($buff =~ /^.{4}ftyp/s) { }
0 0 elsif ($buff =~ /\xff\xd8\xff./g or $self->{'Make'} =~ /(Minolta|Sony)/i and $buff =~ /.\xd8\xff\xdb/g) { }
6639 0 0 if ($raf->Seek(0, 2)) { }
6641 0 0 if ($options->{'Binary'}) { }
6642 0 0 if $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
6646 0 0 if ($val) { }
6659 0 0 if ($start and $start ne $actual and $verbose > 1)
6663 0 0 if ($start)
6664 0 0 if $self->{'VALUE'}{'PreviewImageStart'}
6668 0 0 if ($self->{'PreviewError'} and $self->{'PreviewImageLength'})
6669 0 0 if ($raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'}))
6682 0 3 if ($trailInfo)
6689 0 3 if ($self->{'LeicaTrailer'})
6696 1 2 if ($verbose or $htmlDump)
6698 1 0 unless ($endPos)
6703 0 1 if $endPos > $pos
6708 0 3 if $calcImageLen
6714 2 240 if $verbose
6715 241 1 unless ($fast)
6718 28 0 if ($trailInfo and $verbose < 3 and not $htmlDump)
6721 28 0 if $self->ProcessTrailers($trailInfo)
6723 0 0 if ($wantTrailer and $self->{'PreviewImageStart'})
6727 0 0 if ($raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/)
6733 0 0 unless $raf->Seek($curPos, 0)
6736 0 241 if ($self->{'LeicaTrailer'}) { }
6739 0 0 if $self->{'LeicaTrailer'}
6741 0 241 if $options->{'ExtractEmbedded'}
6743 1 240 if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
6746 0 241 if $options->{'Validate'} or $calcImageLen or $req->{'trailer'} or $md5
6752 0 1 if $verbose
6754 0 1 if $verbose > 2 or $htmlDump
6758 0 0 if $verbose and $marker
6770 1 0 if $num < 4
6776 884 522 if ($marker & 240) == 224
6777 6 1400 if ($verbose)
6779 3 3 if ($verbose > 2)
6781 0 3 if $verbose == 4
6795 107 1299 if ($marker == 224) { }
272 1027 elsif ($marker == 225) { }
121 906 elsif ($marker == 226) { }
21 885 elsif ($marker == 227) { }
1 884 elsif ($marker == 228) { }
21 863 elsif ($marker == 229) { }
38 825 elsif ($marker == 230) { }
20 805 elsif ($marker == 231) { }
20 785 elsif ($marker == 232) { }
20 765 elsif ($marker == 233) { }
19 746 elsif ($marker == 234) { }
38 708 elsif ($marker == 235) { }
40 668 elsif ($marker == 236) { }
82 586 elsif ($marker == 237) { }
45 541 elsif ($marker == 238) { }
19 522 elsif ($marker == 239) { }
27 495 elsif ($marker == 254) { }
2 493 elsif ($marker == 100) { }
1 492 elsif ($marker == 81) { }
492 0 elsif (($marker & 240) != 224) { }
6796 50 57 if ($$segDataPt =~ /^JFIF\0/) { }
19 38 elsif ($$segDataPt =~ /^JFXX\0(\x10|\x11|\x13)/) { }
19 19 elsif ($$segDataPt =~ /^(II|MM).{4}HEAPJPGM/s) { }
19 0 elsif ($$segDataPt =~ /^(AVI1|Ocad)/) { }
6809 0 19 if $fast > 1
6828 199 73 if ($$segDataPt =~ /^(.{0,4})Exif\0./is) { }
2 71 elsif ($$segDataPt =~ /^$Image::ExifTool::xmpExtAPP1hdr/) { }
1 70 elsif ($$segDataPt =~ /^QVCI\0/) { }
1 69 elsif ($$segDataPt =~ /^FLIR\0/ and $length >= 8) { }
0 69 elsif ($$segDataPt =~ /^PARROT\0(II\x2a\0|MM\0\x2a)/) { }
6833 0 199 if (length $1) { }
0 199 elsif (not $$segDataPt =~ /^Exif\0/) { }
6839 0 199 if ($htmlDump)
6845 0 199 if (defined $combinedSegData)
6853 0 199 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/)
6857 0 0 unless (defined $combinedSegData)
6870 0 199 if @skipData
6872 0 199 unless $self->ProcessTIFF(\%dirInfo)
6878 183 4 if (not $start or not $plen and $self->{'PreviewError'})
6882 0 0 if ($start and $plen and &IsInt($start) and &IsInt($plen) and $start + $plen > $self->{'EXIF_POS'} + length($self->{'EXIF_DATA'}) and $req->{'previewimage'} || $options->{'Binary'} && !$self->{'EXCL_TAG_LOOKUP'}{'previewimage'})
6892 0 199 if (@skipData)
6905 2 0 if ($length > 75) { }
6908 0 2 if ($guid =~ /[^A-Za-z0-9]/) { }
6912 1 1 if (not $extXMP) { }
0 1 elsif ($size != $extXMP->{'Size'}) { }
6936 0 1 if $verbose
6938 0 1 if (defined $flirTotal) { }
6940 0 0 if $chunksTot != $flirTotal
6945 1 0 if (defined $flirCount) { }
6946 0 1 if (defined $flirChunk[$chunkNum]) { }
6953 1 0 if (++$flirCount >= $flirTotal)
6977 69 0 if ($$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/)
6981 69 0 $$segDataPt =~ /^$Image::ExifTool::xmpAPP1hdr/ ? :
6984 69 0 $start ? :
6986 0 69 if ($processed and not $start)
6990 0 69 if ($verbose and not $processed)
6995 34 87 if ($$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14) { }
67 20 elsif ($$segDataPt =~ /^FPXR\0/) { }
19 1 elsif ($$segDataPt =~ /^MPF\0/) { }
1 0 elsif ($$segDataPt =~ /^....IJPEG\0/s) { }
0 0 elsif ($$segDataPt =~ /^(|QVGA\0|BGTH)\xff\xd8\xff[\xdb\xe0\xe1]/) { }
0 0 elsif ($preview) { }
7001 0 34 if $verbose
7002 0 34 if (defined $iccChunksTotal) { }
7004 0 0 if $chunksTot != $iccChunksTotal
7008 0 34 unless $chunksTot
7010 34 0 if (defined $iccChunkCount) { }
7011 0 34 if (defined $iccChunk[$chunkNum]) { }
7018 34 0 if (++$iccChunkCount >= $iccChunksTotal)
7038 0 67 if $fast > 1
7048 0 19 if ($htmlDump)
7071 0 121 if ($preview and $nextMarker ne $marker)
7076 19 2 if ($$segDataPt =~ /^(Meta|META|Exif)\0\0/) { }
0 2 elsif ($$segDataPt =~ /^Stim\0/) { }
1 1 elsif ($$segDataPt =~ /^_JPSJPS_/) { }
1 0 elsif ($self->{'HasIJPEG'} or $self->{'Make'} eq 'DJI') { }
0 0 elsif ($self->{'HasIJPEG'}) { }
0 0 elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) { }
7079 0 19 if ($htmlDump)
7088 0 0 if ($htmlDump)
7098 1 0 if $self->{'FILE_TYPE'} eq "JPEG"
7103 1 0 $self->{'HasIJPEG'} ? :
7106 0 1 if (defined $combinedSegData)
7110 0 1 if ($nextMarker == $marker) { }
7111 0 0 unless defined $combinedSegData
7125 0 21 if ($preview and $nextMarker ne 228)
7130 0 1 if ($$segDataPt =~ /^SCALADO\0/ and $length >= 16) { }
0 1 elsif ($$segDataPt =~ /^FPXR\0/) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^\xaa\x55\x12\x06/) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^(.{32})?.{32}\x2c\x01\x20\0/s) { }
0 1 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^.{32}\xaa\x55\x38\0/s) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 120) { }
0 0 elsif ($preview) { }
7134 0 0 unless defined $scalado
7136 0 0 if ($idx == $num - 1)
7137 0 0 if ($len != length $scalado)
7149 0 0 if $fast > 1
7162 0 0 $1 ? :
7182 0 1 if ($preview and $nextMarker ne 229)
7187 20 1 if ($$segDataPt =~ /^RMETA\0/) { }
0 1 elsif ($$segDataPt =~ /^ssuniqueid\0/) { }
0 1 elsif ($self->{'Make'} eq 'DJI') { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 38) { }
0 0 elsif ($preview) { }
7213 18 20 if ($$segDataPt =~ /^EPPIM\0/) { }
18 2 elsif ($$segDataPt =~ /^NITF\0/) { }
0 2 elsif ($$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12) { }
1 1 elsif ($$segDataPt =~ /^GoPro\0/) { }
0 1 elsif ($$segDataPt =~ /^DTAT\0\0.\{/s) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 129) { }
7216 0 18 if ($htmlDump)
7252 0 20 if ($$segDataPt =~ /^PENTAX \0(II|MM)/) { }
0 20 elsif ($$segDataPt =~ /^HUAWEI\0\0(II|MM)/) { }
0 20 elsif ($$segDataPt =~ /^DJI-DBG\0/) { }
19 1 elsif ($$segDataPt =~ /^\x1aQualcomm Camera Attributes/) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 32) { }
7260 0 0 if ($htmlDump)
7273 0 0 if ($htmlDump)
7305 19 1 if ($$segDataPt =~ /^SPIFF\0/ and $length == 32) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 32) { }
7317 19 1 if ($$segDataPt =~ /^Media Jukebox\0/ and $length > 22) { }
1 0 elsif ($self->{'HasIJPEG'} and $length >= 768) { }
7332 19 0 if ($$segDataPt =~ /^UNICODE\0/) { }
0 0 elsif ($$segDataPt =~ /^AROT\0/ and $length > 10) { }
7342 19 19 if ($$segDataPt =~ /^HDR_RI /) { }
19 0 elsif ($$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16) { }
7345 0 19 if (defined $combinedSegData)
7346 0 0 if ($$segDataPt =~ /~\0/g) { }
7353 0 19 if ($nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /) { }
7354 0 0 unless defined $combinedSegData
7370 0 19 if ($len == 1 and length $$segDataPt >= 24) { }
7376 19 0 unless $jumbfChunk{$type}
7377 0 19 if ($len < $hdrLen) { }
0 19 elsif ($seq < 0) { }
0 19 elsif (defined $jumbfChunk{$type}[$seq]) { }
7389 0 19 unless defined $_
7392 19 0 if ($size == $len)
7404 21 19 if ($$segDataPt =~ /^Ducky/) { }
7411 19 0 if $self->ProcessDirectory(\%dirInfo, $tagTablePtr)
7415 63 19 if ($$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1) { }
19 0 elsif ($$segDataPt =~ /^Adobe_CM/) { }
7419 0 63 if (defined $combinedSegData)
7424 0 63 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/) { }
7426 0 0 unless defined $combinedSegData
7429 0 63 $isOld ? :
7451 45 0 if ($$segDataPt =~ /^Adobe/)
7453 16 29 if ($req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'})
7466 19 0 if ($$segDataPt =~ /^Q\s*(\d+)/ and $length == 4)
7477 2 0 if ($length > 2)
7480 2 0 if $reg == 1
7482 0 2 $reg == 0 || $reg == 65535 ? :
7492 1151 56 if (defined $dumpType)
7493 0 1 if (not $dumpType and $options->{'Unknown'} || $options->{'Validate'})
7494 0 0 $$segDataPt =~ /^([\x20-\x7e]{1,20})\0/ ? :
7495 0 0 unless $xtra
7498 0 1151 if ($htmlDump)
7499 0 0 $dumpType ? :
0 0 unless $desc
7507 1 244 if (%extendedXMP)
7513 1 0 if $readGuid eq 1
7515 0 1 unless length $guid == 32
7520 0 2 unless defined $extXMP->{$off}
7524 0 1 unless ($off == $extXMP->{'Size'})
7528 1 0 if ($guid eq $readGuid or $readGuid eq '2') { }
7529 0 1 if $guid ne $goodGuid
7544 0 0 if $guid ne $goodGuid
7546 0 1 if $warn
7551 0 245 if $md5size and $verbose
7553 1 244 if (@dqt)
7558 0 245 if %jumbfChunk
7559 0 245 if defined $iccChunkCount
7560 0 245 if defined $flirCount
7561 0 245 if $self->{'PreviewError'}
7562 0 245 unless $success
7563 0 245 if @$path > $pn
7597 108 387 if (defined $exifData)
7620 47 448 if ($raf) { }
406 42 elsif ($dataPt and length $$dataPt) { }
42 0 elsif ($outfile) { }
7621 14 33 if ($outfile) { }
7622 0 14 unless $raf->Seek(0, 0)
7623 0 14 if ($base)
7624 0 0 unless $raf->Read($$dataPt, $base) == $base
7625 0 0 unless &Write($outfile, $$dataPt)
7628 0 33 unless $raf->Seek($base, 0)
7631 3 44 $fileType eq 'EXIF' ? :
7633 1 46 if ($n < 8)
7634 0 1 if $n or not $outfile or $fileType ne "EXIF"
7639 2 45 if ($n > 8)
7641 0 2 if ($n == $amount)
7651 0 406 if $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
7657 43 452 unless (defined $self->{'EXIF_DATA'})
7660 0 43 if ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS")
7664 34 9 if ($self->SetPreferredByteOrder($defaultByteOrder) eq 'MM') { }
7671 387 108 unless defined $self->{'FIRST_EXIF_POS'}
7676 6 489 unless &SetByteOrder($byteOrder)
7684 0 489 if $fileType eq "APP1" and $identifier != 42
7687 0 489 if length $$dataPt < 8
7689 0 489 unless $offset >= 8
7691 40 449 if ($raf)
7695 17 23 if ($identifier == 42 and $offset >= 16) { }
3 20 elsif ($identifier == 85 and $fileType =~ /^(RAW|RW2|RWL|TIFF)$/) { }
13 7 elsif ($fileType eq 'TIFF') { }
7696 0 17 unless $raf->Read($sig, 8) == 8
7698 10 7 if ($sig =~ /^(CR\x02\0|\xba\xb0\xac\xbb|ExifMeta)/)
7699 1 9 if ($sig eq 'ExifMeta') { }
7703 9 0 $sig =~ /^CR/ ? :
7706 0 10 if $self->{'HTML_DUMP'}
7712 3 0 if ($offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\035M\224znw\202+]j") { }
7715 3 0 unless $fileType eq "RWL"
7716 0 3 if $self->{'HTML_DUMP'}
7723 0 13 if ($identifier == 43) { }
0 13 elsif ($identifier == 20306 or $identifier == 21330) { }
0 13 elsif ($identifier == 17234) { }
0 26 elsif ($byteOrder eq 'II' and ($identifier & 255) == 188) { }
7728 0 0 if ($result)
7729 0 0 if $self->{'MultiPage'}
7741 0 0 if ($ver > 1)
7748 38 2 if ($fileType and not $self->{'VALUE'}{'FileType'})
7750 0 38 unless ref $lookup or not $lookup
7752 0 38 ref $lookup->[0] ? :
38 0 $lookup ? :
7753 37 1 $baseType eq 'TIFF' || $fileType =~ /RAW/ ? :
7757 0 27 if not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} == 3
7760 18 471 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/ ? :
7761 413 76 if (not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq 'EXIF') { }
19 57 elsif ($tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes') { }
7762 293 120 unless $outfile
7768 0 489 if ($self->{'HTML_DUMP'})
7769 0 0 $byteOrder eq 'II' ? :
7777 239 250 unless $tagTablePtr
7795 365 124 unless ($outfile)
7799 7 358 if ($self->{'VALUE'}{'GeoTiffDirectory'})
7804 27 338 if ($raf)
7806 3 24 if ($trailInfo)
7811 0 0 if ($self->{'HTML_DUMP'} and $self->{'KnownTrailer'})
7815 0 0 if $trailInfo
7816 0 0 if $len > 0
7820 0 365 if ($self->{'DNGVersion'} and not $self->{'FileType'} =~ /^(DNG|GPR)$/)
7824 10 355 if ($self->{'TIFF_TYPE'} eq "TIFF")
7825 0 10 if $self->{'MultiPage'}
7832 1 123 if ($dirInfo->{'NoTiffEnd'}) { }
7838 3 121 if ($canonSig) { }
7843 0 3 unless Image::ExifTool::CanonRaw::WriteCR2($self, \%dirInfo, $tagTablePtr)
7846 3 118 if ($fileType eq 'EXIF') { }
117 1 elsif (not defined $otherSig) { }
7858 1 120 if $fileType eq "ORF" or $identifier != 42
7860 0 121 if (not defined $newData) { }
115 6 elsif (length $newData) { }
7865 5 110 if ($hdrLen != 8)
7869 0 0 if $pi and $pi->{'Fixup'}
7871 0 115 if ($self->{'TIFF_TYPE'} eq 'ARW' and not $err) { }
7876 0 0 if $errStr
7879 0 115 unless &Write($outfile, $header, $newData)
7884 10 111 if (ref $dirInfo{'ImageData'} and not $err)
7885 0 10 unless $self->CopyImageData($dirInfo{'ImageData'}, $outfile)
7894 12 1 if ($raf and $tiffEnd and not $err)
7896 0 12 unless $raf->Seek(0, 2)
7900 9 3 unless $extra > 12
7903 3 0 unless $trailInfo
7908 0 0 unless ($self->ProcessTrailers($trailInfo))
7918 1 11 if ($extra > 0 and $tiffEnd & 1)
7919 0 1 unless $raf->Seek($tiffEnd, 0)
7920 0 1 unless $raf->Read($buf, 1)
7921 1 0 if defined $buf and $buf eq "\0"
7923 3 9 if ($extra > 0)
7925 0 3 if ($self->{'DEL_GROUP'}{'Trailer'} and not $known) { }
0 3 elsif ($known) { }
7930 0 0 unless $raf->Seek($tiffEnd, 0)
7931 0 0 unless &CopyBlock($raf, $outfile, $extra)
7933 0 3 unless $raf->Seek($tiffEnd, 0)
7938 0 3 $size > 65536 ? :
7939 0 3 unless $raf->Read($buf, $n) == $n
7940 3 0 if ($buf =~ /[^\0]/)
7943 0 3 if $size != $extra
7944 0 3 unless &Write($outfile, $buf)
7945 0 3 if $size > $n
7949 0 0 if $size > 0
7956 0 12 if $trailInfo
7959 2 10 if $trailPt
7962 1 123 if ($self->{'DNGVersion'})
7965 0 1 unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.6")
7970 0 124 $err ? :
7983 391141 64494 unless $Image::ExifTool::specialTags{$_}
8002 4 90394 unless my $tableName = shift()
8005 4572 85822 unless ($table)
8007 883 3689 unless (%$tableName)
8009 883 0 if ($tableName =~ /(.*)::/)
8011 883 0 if (eval "require $module") { }
8013 28 855 unless (%$tableName)
8014 28 0 if ($module eq 'Image::ExifTool::XMP') { }
0 0 elsif ($tableName eq 'Image::ExifTool::QuickTime::Stream') { }
8021 0 0 if $@
8024 0 883 unless (%$tableName)
8032 13 4559 if $table->{'INIT_TABLE'}
8037 125 4447 unless $defaultGroups
8038 3648 924 unless ($defaultGroups->{'0'} and $defaultGroups->{'1'})
8039 3648 0 if ($tableName =~ /Image::.*?::([^:]*)/) { }
8040 1381 2267 unless $defaultGroups->{'0'}
8041 2984 664 unless $defaultGroups->{'1'}
8043 0 0 unless $defaultGroups->{'0'}
8044 0 0 unless $defaultGroups->{'1'}
8047 274 4298 unless $defaultGroups->{'2'}
8048 515 4057 if ($defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'})
8053 19 496 unless $table->{'WRITE_PROC'}
8054 60 455 unless $table->{'CHECK_PROC'}
8055 57 458 unless $table->{'LANG_INFO'}
8058 4472 100 unless (defined $table->{'TAG_PREFIX'})
8060 4472 0 if ($tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/) { }
8070 2 581 if (%Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite)
8073 0 3 if $Image::ExifTool::specialTags{$tagID}
8085 0 142 if ($table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName})
8106 0 4988 unless $tagTablePtr and $dirInfo
8108 4577 411 unless $proc
8111 717 4271 unless ($dirName)
8113 186 531 if $dirName =~ /^APP\d+$/
8118 4186 49 if (defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'}))
8123 0 4186 if ($self->{'PROCESSED'}{$addr})
8126 0 0 unless $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
8128 4186 0 unless $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'ALLOW_REPROCESS'}
8167 1826 131 if ($filename and $filename =~ /^.*\.([^.]+)$/s)
8171 34 1792 if $fileExt eq "TIF"
8186 0 538457 if ($Image::ExifTool::specialTags{$tagID}) { }
493875 44582 elsif (ref $tagInfo eq 'HASH') { }
11191 33391 elsif (ref $tagInfo eq 'ARRAY') { }
28909 4482 elsif ($tagInfo) { }
8220 13295 100882 if ($condition)
8221 827 12468 if @_ > 3
8222 687 12608 if $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
8227 10126 2482 unless (eval $condition)
8228 0 10126 if $@
8229 0 10126 if $Image::ExifTool::evalWarning
8234 2095 1013 if ($tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} || $self->{'HTML_DUMP'} || $self->{'OPTIONS'}{'Validate'} && !$tagInfo->{'AddedUnknown'})
8244 590 4672 if (not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}) { }
8248 155 435 if (defined $tagTablePtr->{'PRINT_CONV'}) { }
8286 0 0 $tagInfo ? :
0 6096 unless ref $tagInfo eq "HASH"
8289 432 5664 if ($tagInfo->{'Groups'}) { }
8292 738 558 if $tagInfo->{'Groups'}{$_}
8298 57 6039 if $tagInfo->{'Flags'}
8302 1442 4654 if (defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'})
8307 24 6072 unless defined $name
8311 22 2 unless (defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'})
8317 14 6082 if length $name < 2 or not $name =~ /^[A-Z]/i
8321 6013 0 unless (defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID})
8324 636 5460 if $tagInfo->{'Unknown'}
8345 7343 2159 if ($tagInfo) { }
8348 2159 0 unless $verbose
8353 0 574 unless (defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'})
8355 873 0 $dataPt ? :
8357 4 869 unless defined $size
8359 873 0 if ($start >= 0 and $start + $size <= $dLen) { }
8361 319 0 if not $format and $pfmt and $formatSize{$pfmt}
8362 422 451 if ($format) { }
8373 51 7292 if ($verbose)
8374 0 51 if $noTagInfo
8376 0 51 if defined $rational
8378 0 51 if ($format)
8384 7343 0 if ($tagInfo)
8385 747 6596 if ($subdir)
8388 1 746 if ($tagInfo->{'RawConv'} and not $tagInfo->{'Writable'})
8392 0 1 if (ref $conv eq 'CODE') { }
8399 0 1 if $@
8401 0 1 if $Image::ExifTool::evalWarning
8402 0 1 unless defined $val
8403 1 0 if ref $val eq "SCALAR"
8408 8 739 if ($subdir->{'Start'})
8415 12 735 unless $dataPt
8431 3 744 if ($subdir->{'ByteOrder'})
8432 1 2 if ($subdir->{'ByteOrder'} eq 'Unknown') { }
8433 1 0 if ($subdirStart + 2 <= $subdirLen)
8436 1 0 if $num & 65280 and $num >> 8 > ($num & 255)
8446 747 0 unless $tagInfo->{'Writable'}
8450 12 6584 if defined $rational and defined $key
8470 52302 7504 if (ref $tagInfo eq 'HASH') { }
8471 0 52302 unless $tag = $tagInfo->{'Name'}
8480 2 7502 unless $tagInfo
8481 39 7465 if $options->{'Verbose'}
8485 55290 4516 unless (defined $priority)
8487 39 53152 if not defined $priority and $tagInfo->{'Avoid'}
8489 59792 14 unless $grps[0]
8490 59792 14 unless $grps[1]
8493 9388 50418 if ($tagInfo->{'RawConv'})
8496 1814 0 if (ref $value eq "HASH" and $tagInfo->{'IsComposite'})
8502 220 9168 if (ref $conv eq 'CODE') { }
8504 0 220 if $self->{'grps'}
8510 0 9168 if $@
8512 0 9388 if $Image::ExifTool::evalWarning
8513 2634 6754 unless defined $value
8516 0 57172 if ($options->{'IgnoreTags'})
8517 0 0 if ($options->{'IgnoreTags'}{'all'}) { }
8518 0 0 unless $self->{'REQ_TAG_LOOKUP'}{lc $tag}
8520 0 0 if $options->{'IgnoreTags'}{lc $tag}
8524 6671 50501 if (defined $valueHash->{$tag}) { }
216 50285 elsif ($priority) { }
8526 645 6026 if ($self->{'LIST_TAGS'}{$tagInfo})
8528 65 580 if (defined $self->{'NO_LIST'}) { }
8530 31 34 if (defined $self->{'TAG_EXTRA'}{$tag}{'NoList'}) { }
8537 300 280 if (ref $valueHash->{$tag} ne "ARRAY")
8554 5183 908 unless ($oldPriority)
8555 5148 35 if ($self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq 'Warning' or not $self->{'TAG_EXTRA'}{$tag}{'G3'}) { }
8564 2067 4024 if (defined $priority) { }
411 3613 elsif ($self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}) { }
8567 40 1940 if not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
8575 2745 3346 if ($priority >= $oldPriority and !$self->{'DOC_NUM'} || $self->{'TAG_EXTRA'}{$tag} && $self->{'TAG_EXTRA'}{$tag}{'G3'} && $self->{'DOC_NUM'} eq $self->{'TAG_EXTRA'}{$tag}{'G3'} and not $noListDel) { }
8586 1897 3593 if ($self->{$_}{$tag})
8593 7 2738 if $self->{'LIST_TAGS'}{$oldInfo}
8595 89 2656 if ($self->{'COMP_KEYS'}{$tag})
8604 65 6026 if $noListDel
8616 500 56092 if $grps[0]
8617 4313 52279 if $grps[1]
8618 1753 54839 if ($self->{'DOC_NUM'})
8620 1753 0 if ($self->{'DOC_NUM'} =~ /^(\d+)/)
8622 33 1720 unless $self->{'DOC_COUNT'} >= $1
8626 258 56334 if $options->{'SavePath'}
8630 1111 181 if ($tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel)
8637 213 56379 if ($options->{'Validate'} and not ref $value)
8650 22 0 unless $self->{'PRIORITY_DIR'}
8659 0 13715 defined $fam ? :
8683 167 6 if (not ref $_[0]) { }
4 2 elsif (ref $_[0] eq 'ARRAY') { }
0 2 elsif (ref $_[0] eq 'HASH') { }
8706 603 48 unless ($self->{'FileType'} and not $self->{'DOC_NUM'})
8709 464 139 unless $fileType
8711 270 289 if (defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'})
8713 10 245 if (ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0])
8715 4 6 if $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
8718 579 24 unless $mimeType
8720 20 583 unless $mimeType or $baseType eq "TIFF"
8721 593 10 unless (defined $normExt)
8723 332 261 unless defined $normExt
8726 603 0 unless $self->{'DOC_NUM'}
8740 12 6 if (defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'})
8743 5 7 unless (defined $normExt)
8745 5 0 unless defined $normExt
8748 12 0 unless $mimeType
8749 5 7 if $mimeType
8750 0 12 if ($self->{'OPTIONS'}{'Verbose'})
8753 0 0 if $mimeType
8765 0 8 unless $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
8767 8 0 if (defined $old) { }
8785 4 9307 if ($self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level)
8788 0 4 unless $_[-1] =~ /\n$/
8800 406 44 unless $self->{'OPTIONS'}{'Verbose'}
8801 0 44 if (ref $name eq "HASH")
8802 0 0 unless $size
8807 22 22 $entries || defined $entries && !$size ? :
8808 22 22 if $size
8820 0 128 if ($verbose and $verbose > 2)
8824 0 0 $verbose < 5 ? :
0 0 $verbose < 4 ? :
8852 43 4 if ($tag)
8853 29 14 if ($tag eq "PreviewImage")
8860 34 0 if (!$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag})
8866 5 8 unless ($self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length)
8869 0 5 unless $tag
8870 0 5 if ($isPreview and not $self->{'BuildingComposite'}) { }
8899 30 2083 if not defined $size or $size > $maxLen
8903 0 2113 unless ($increment)
8910 0 2113 if ($unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}) { }
195 1918 elsif ($dirInfo->{'DataMember'}) { }
38 1880 elsif ($dirInfo->{'MixedTags'}) { }
8912 0 0 $size < 65536 ? :
8918 0 0 if @ftags
8927 0 55728 $a < 0 ? :
0 55728 $b < 0 ? :
8929 19 2094 if $verbose
8931 2113 0 if $unknown < 2
8937 17684 0 if ($tagTablePtr->{$index}) { }
0 0 elsif ($topIndex and $$tagTablePtr{$index - $topIndex}) { }
8939 730 16954 unless ($tagInfo)
8940 682 48 unless defined $tagInfo
8943 0 48 if ($entry < 0)
8945 0 0 if $entry < 0
8947 44 4 if $entry >= $size
8949 0 4 if $more > 128
8952 0 4 unless $tagInfo
8955 1 261 if $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8957 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index - $topIndex)
8960 0 0 unless $unknown > 1
8961 0 0 if $index < $nextIndex
8962 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index)
8968 0 16957 if ($entry < 0)
8970 0 0 if $entry < 0
8973 273 16684 if $more <= 0
8976 9652 7032 if (not $format) { }
104 6928 elsif ($format eq 'string') { }
0 6928 elsif ($format eq 'pstring') { }
3182 3746 elsif (not $formatSize{$format}) { }
8986 2997 185 if ($format =~ /(.*)\[(.*)\]/) { }
185 0 elsif ($format =~ /^var_/) { }
8993 0 2997 if $@
8994 0 2997 if $count < 0
8998 0 2997 if ($format =~ s/^var_//)
9002 0 0 if ($dirInfo->{'VarFormatData'})
9007 0 0 if $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
9014 0 185 if ($format eq 'ustring') { }
0 185 elsif ($format eq 'pstring') { }
170 15 elsif ($format eq 'pstr32' or $format eq 'ustr32') { }
10 5 elsif ($format eq 'int16u') { }
3 2 elsif ($format eq 'ue7') { }
2 0 elsif ($$dataPt =~ /\0/g) { }
9015 0 0 if $$dataPt =~ /\G(..)*?\0\0/gs
9021 0 170 if $more < 4
9023 168 2 if $format eq "ustr32"
9029 0 10 if $more < 2
9036 0 3 unless defined $val
9042 0 185 if not defined $count or $count > $more
9044 182 3 unless (defined $val)
9046 168 14 if $format eq "ustring" or $format eq "ustr32"
9047 172 10 unless $format eq "undef"
9051 5 180 if ($dirInfo->{'VarFormatData'})
9057 540 16144 if (defined $tagInfo->{'Hook'})
9063 247 293 if ($dirInfo->{'VarFormatData'}) { }
0 585 elsif ($varSize != $oldVarSize and $verbose > 2) { }
9064 0 247 if $wasVar
9068 0 0 if $tmp < 0
9072 0 16684 if ($unknown > 1)
9075 0 0 unless $wasVar
9077 0 0 unless $nextIndex > $ni
9081 0 16684 if $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
9083 16499 185 unless (defined $val and not $tagInfo->{'SubDirectory'})
9085 0 16499 unless defined $val
9087 391 16108 if $mask
9089 198 16486 if ($verbose and not $tagInfo->{'Hidden'})
9090 198 0 if (not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}) { }
9092 0 198 if $len > $more
9096 0 198 $mask ? :
9109 14 16670 if ($tagInfo->{'SubDirectory'})
9113 12 2 if ($tagInfo->{'Format'} and $formatSize{$format}) { }
9115 0 12 if $len > $more
9118 2 0 if ($subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData)
9126 0 14 if (defined $subdir->{'Base'})
9132 0 14 if ($start =~ /\$/) { }
9134 0 0 unless $val
9137 0 0 if $start < $dirStart or $start > $dataLen
9139 0 0 unless $len and $len <= $dataLen - $start
9153 14 0 if $unknown < 2
9156 38 16632 if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3)
9159 19 19 if eval $tagInfo->{'IsOffset'}
9163 0 16670 if ($tagInfo->{'SetBase'})
9168 0 16670 if defined $oldBase
9169 15269 1401 if ($key) { }
9170 40 15229 if defined $rational
9173 0 1401 if defined $saveNextIndex