Branch Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
branch 1787 2890 61.8


line true false branch
2003 223 0 unless (defined $str)
2004 0 223 unless defined $Image::ExifTool::evalWarning
2007 205 18 if $str =~ /(.*) at /s
2064 501 9 if (ref $_[0] and UNIVERSAL::isa($_[0], 'Image::ExifTool')) { }
2099 376 19848 unless (exists $options->{$param})
2101 0 376 if ($fixed) { }
2108 0 58 if (ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand')
2112 15386 4838 unless @_
2114 76 4762 if ($param eq 'Lang') { }
7 4755 elsif ($param eq 'Exclude' and defined $newVal) { }
358 4397 elsif ($param =~ /^Charset/ or $param eq 'IPTCCharset') { }
58 4339 elsif ($param eq 'UserParam') { }
100 4239 elsif ($param eq 'RequestTags') { }
58 4181 elsif ($param eq 'IgnoreTags') { }
10 4171 elsif ($param eq 'ListJoin') { }
77 4094 elsif ($param eq 'List') { }
1 4093 elsif ($param eq 'Compact' or $param eq 'XMPShorthand') { }
2116 0 76 unless defined $newVal
2117 58 18 if ($newVal eq $Image::ExifTool::defaultLang) { }
2123 18 0 if ($langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal")
2126 18 0 if (%$xlat)
2135 6 1 if (ref $newVal eq 'ARRAY') { }
2144 241 117 if ($newVal) { }
117 0 elsif ($param eq 'CharsetEXIF' or $param eq 'CharsetFileName' or $param eq 'CharsetRIFF') { }
0 0 elsif ($param eq 'CharsetQuickTime') { }
2146 241 0 if ($charset) { }
2149 1 240 if $param eq "IPTCCharset"
2162 0 58 unless defined $newVal
2165 58 0 if (ref $newVal eq "HASH")
2178 0 0 if ($newVal =~ /(.*?)=(.*)/s) { }
2181 0 0 if $paramName =~ s/\^$//
2190 0 0 if (defined $newVal)
2191 0 0 if (length $newVal or $force) { }
2199 0 0 unless $param =~ s/#$//
2203 42 58 if (defined $newVal) { }
2205 42 0 ref $newVal eq 'ARRAY' ? :
2208 42 0 unless $options->{$param}
2210 0 56 unless /^(.*:)?([-\w?*]*)#?$/
2211 56 0 if $2
2212 56 0 unless $1
2220 0 58 if (defined $newVal) { }
2222 0 0 ref $newVal eq 'ARRAY' ? :
2225 0 0 unless $options->{$param}
2227 0 0 unless /^(.*:)?([-\w?*]+)#?$/
2236 4 6 if (defined $newVal) { }
2246 77 0 $newVal ? :
2251 1 1 $param eq $p ? :
2252 1 1 if (defined $val)
2254 0 1 $p eq 'Compact' ? :
2256 0 1 unless my $set = $$opt{lc $_}
2257 1 0 unless ref $set
2265 64 4029 if ($param eq 'Escape') { }
59 3970 elsif ($param eq 'GlobalTimeShift') { }
0 3970 elsif ($param eq 'TimeZone' and defined $newVal and length $newVal) { }
59 3911 elsif ($param eq 'Validate') { }
2267 0 64 if (defined $newVal and $newVal eq 'XML') { }
5 59 elsif (defined $newVal and $newVal eq 'HTML') { }
2285 1 58 if $newVal
2389 0 475 if (%Image::ExifTool::UserDefined::Options)
2414 2 515 if (ref $_[1] eq 'HASH' and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB') { }
2431 1 509 if (defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'})
2435 0 6 if $options->{'HtmlDump'}
2437 1 5 if $req->{'validate'}
2439 5 1 if (defined $_[0])
2455 58 457 if $req->{'now'} or $reqAll
2456 58 457 if $req->{'newguid'} or $reqAll
2458 58 457 if $req->{'filesequence'} or $reqAll
2460 58 457 if ($req->{'processingtime'} or $reqAll)
2462 0 0 if (not @startTime and $req->{'processingtime'})
2476 473 44 unless ($raf)
2478 473 0 if (defined $filename and $filename ne '') { }
2479 473 0 unless ($filename eq "-")
2481 0 473 if $realname =~ /\|$/
2484 58 415 if ($req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'})
2487 58 0 $name =~ /(.*)\./ ? :
2489 473 0 if defined $dir and length $dir
2490 58 415 if ($req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'})
2494 58 0 if (eval { do { require Cwd } }) { }
0 0 elsif ($req->{'filepath'}) { }
2496 58 0 if defined $path
2502 0 473 if $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2504 0 473 if ($^O eq "MSWin32" and eval { do { require Win32API::File } })
2507 0 0 if ($self->EncodeFileName($zfile)) { }
2512 0 0 unless $wattr == Win32API::File::INVALID_FILE_ATTRIBUTES()
2516 473 0 if ($self->Open(\*EXIFTOOL_FILE, $filename)) { }
0 0 elsif ($self->IsDirectory($filename)) { }
2521 0 473 if $filename eq "-" or $filename =~ /\|$/
2535 2 515 if ($reEntry) { }
0 515 elsif (not $raf) { }
22 493 elsif (not $raf->{'FILE_PT'}) { }
493 0 elsif (-f $raf->{'FILE_PT'}) { }
2547 0 493 if $^O eq "MSWin32"
2554 493 24 if defined $stat[7]
2555 0 517 if $rsize
2556 0 517 if $zid
2557 493 24 if defined $stat[9]
2558 493 24 if defined $stat[8]
2559 0 517 $^O eq 'MSWin32' ? :
2560 493 24 if defined $stat[10]
2561 493 24 if defined $stat[2]
2563 493 24 if (@stat)
2565 58 435 if ($sys or $req->{'fileattributes'})
2568 0 0 if ($^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-")
2570 0 0 if (eval { do { require Win32API::File } })
2573 0 0 if ($self->EncodeFileName($file)) { }
2578 0 0 if defined $wattr and $wattr != 4294967295
2583 58 435 if $sys or $req->{'filedevicenumber'}
2584 58 435 if $sys or $req->{'fileinodenumber'}
2585 58 435 if $sys or $req->{'filehardlinks'}
2586 58 435 if $sys or $req->{'fileuserid'}
2587 58 435 if $sys or $req->{'filegroupid'}
2588 58 435 if $sys or $req->{'filedeviceid'}
2589 58 435 if $sys or $req->{'fileblocksize'}
2590 58 435 if $sys or $req->{'fileblockcount'}
2593 0 0 if ($^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize)
2598 0 0 if ($crDate or $mdItem or $xattr)
2600 0 0 if $crDate
2601 0 0 if $mdItem and $plainFile
2602 0 0 if $xattr
2606 0 517 if ($isDir or defined $stat[2] and ($stat[2] & 61440) == 16384)
2609 0 0 if $options->{'Composite'}
2610 0 0 if $raf
2618 0 292 if defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2620 0 517 if ($fast >= 4)
2621 0 0 if (@fileTypeList) { }
2627 0 0 if $fast == 4 and $options->{'Composite'}
2630 470 47 if (@fileTypeList) { }
2635 469 1 unless ($fast == 3)
2652 0 517 unless $raf->Read($buff, $Image::ExifTool::testLen)
2653 0 517 unless $raf->Seek($pos, 0)
2657 1912 0 if ($type) { }
0 0 elsif (not defined $type) { }
0 0 elsif ($recognizedExt) { }
2658 1876 36 if ($Image::ExifTool::magicNumber{$type}) { }
2660 1355 2 unless $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2663 0 36 if defined $moduleName{$type} and not $moduleName{$type}
2664 0 36 if $fast > 2
2666 0 557 if $weakMagic{$type} and defined $recognizedExt
2673 0 0 unless $buff =~ /(\xff\xd8\xff|MM\0\x2a|II\x2a\0)/g
2674 0 0 $1 eq "\377\330\377" ? :
2677 0 0 unless $raf->Seek($pos + $skip, 0)
2679 0 0 unless $self->{'DOC_NUM'}
2683 25 532 $type eq 'TIFF' ? :
2685 0 557 if ($fast == 3 and not $processType{$type})
2686 0 0 unless ($weakMagic{$type} and !$ext || $ext ne $type)
2692 181 376 unless defined $module
2696 305 252 if ($module) { }
0 252 elsif ($module eq '0') { }
2713 517 40 if ($result)
2714 0 517 if ($unkHeader)
2723 0 40 unless $raf->Seek($pos, 0)
2725 0 0 unless (defined $type or $self->{'DOC_NUM'})
2731 0 0 if (not length $buff) { }
2735 0 0 if (length $buff < 16 or $buff =~ /[^\Q$ch\E]/) { }
2736 0 0 if ($fileType eq 'RAW') { }
0 0 elsif ($fileType) { }
2745 0 0 if ($self->{'OPTIONS'}{'FastScan'}) { }
2750 0 0 unless $raf->Read($buff, 65536)
2751 0 0 if $buff =~ /[^\Q$ch\E]/g
2754 0 0 if ($num) { }
2760 0 0 if ($ch eq "\000") { }
0 0 elsif ($ch eq ' ') { }
0 0 elsif ($ch =~ /[a-zA-Z0-9]/) { }
2773 0 517 if ($seekErr) { }
0 1034 elsif ($self->Options('ScanForXMP') and not defined $type && ($fast || $self->{'FoundXMP'})) { }
2781 0 0 if &Image::ExifTool::XMP::ScanForXMP($self, $raf)
2784 36 202 if (defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'})
2791 515 2 unless ($reEntry)
2794 506 9 if $options->{'Composite'}
2796 0 515 if ($self->{'HTML_DUMP'})
2800 0 0 unless defined $pos
2801 0 0 defined $self->{'EXIF_DATA'} ? :
2802 0 0 if defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
2803 0 0 if $self->{'ExtendedEXIF'}
2806 0 0 $self->{'FILENAME'} ? :
2807 0 0 if $success < 0
2810 475 42 if ($filename)
2813 0 0 if ($rsize and $options->{'ExtractEmbedded'})
2815 0 0 if ($self->Open(\*RESOURCE_FILE, "$filename/..namedfork/rsrc")) { }
2830 1 516 if ($options->{'Validate'} and not $reEntry)
2834 58 459 if @startTime
2837 0 517 if (%{$options->{'UserParam'};})
2841 0 0 unless /#$/
2842 0 0 if ($doMsg)
2851 6 511 if %saveOptions
2853 2 515 if ($reEntry)
2860 0 517 if not defined $type or exists $self->{'VALUE'}{'Error'}
2879 180 510 unless (@_ and not defined $_[0])
2882 119 61 unless defined $self->{'FILENAME'}
2891 645 45 $self->{'OPTIONS'}{'PrintConv'} ? :
2894 959 34180 unless defined $val
2899 4 686 if (@$byValue)
2908 9 16 unless defined $val
2912 16 0 unless (defined $self->{'VALUE'}{$vtag})
2918 14 2 unless $nonVal{$tag}
2927 408 282 if (%ignored)
2928 192 216 if (not @$reqTags) { }
41 175 elsif (@$wildTags) { }
2931 22039 516 unless $ignored{$_}
2939 197 159 if (@$wildTags and $i == $wildTags->[0]) { }
2941 197 0 unless $ignored{$_}
2952 4 686 if ($self->{'IO_TAG_LIST'})
2956 2 0 unless @$reqTags or $sort and $sort ne "Input"
2962 180 510 if %saveOptions
2979 424 5 if (ref $info eq 'HASH') { }
5 0 elsif (ref $info eq 'ARRAY') { }
2987 429 0 if ($foundTags) { }
2991 23977 0 if defined $fileOrder->{$_}
2995 0 0 if $info and not $sort
2996 0 0 unless $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
2998 16 413 unless $sort
3001 18 411 unless $sort and $sort ne "Input"
3003 0 411 if ($sort eq 'Tag' or $sort eq 'Alpha') { }
409 2 elsif ($sort =~ /^Group(\d*(:\d+)*)/) { }
0 2 elsif ($sort eq 'Descr') { }
3015 1488 21781 unless $num
3018 409 0 unless $sort2
3019 409 0 if ($sort2)
3020 0 409 if ($sort2 eq 'Tag' or $sort2 eq 'Alpha') { }
0 409 elsif ($sort2 eq 'Descr') { }
3021 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3025 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3029 0 35396 unless $groupOrder{$a} <=> $groupOrder{$b}
3048 0 1 unless my $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3080 0 52905 if ($tag =~ /^(.*):(.+)/)
3086 0 0 if defined $rawValue->{$key}
3087 0 0 if $i <= 0
3090 0 0 if (@keys)
3092 0 0 if $key
3096 52890 15 if ($type) { }
3097 0 52890 if $type eq "Rational"
3099 15 0 $self->{'OPTIONS'}{'PrintConv'} ? :
3104 10093 42812 if (not defined $value) { }
3105 9899 194 unless ref $tag
3111 194 0 if ($type ne "Raw")
3113 170 24 unless $type eq "ValueConv"
3117 53 42759 if ($tagInfo->{'Struct'} and ref $value)
3123 48 5 unless ($type eq "Both")
3132 42759 0 if ($type ne "Raw")
3135 6438 36321 if ($both) { }
3136 2135 4303 if ($type eq 'PrintConv') { }
96 4207 elsif ($type eq 'ValueConv') { }
3140 38 58 unless defined $value
3146 34684 1637 unless $type eq "ValueConv"
3155 646 69619 if ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3157 45448 24171 unless (defined $conv)
3158 28885 16563 if ($convType eq 'ValueConv') { }
3159 28485 400 unless $tagInfo->{'Binary'}
3163 16362 201 unless defined($conv = $tagInfo->{'Table'}{'PRINT_CONV'})
3164 49 152 if exists $tagInfo->{$convType}
3168 2043 22680 if $type eq "Both" and $convType eq "PrintConv"
3171 124 24599 if (ref $conv eq "ARRAY")
3174 0 124 ref $value eq 'ARRAY' ? :
3178 7 117 if ($relist) { }
3182 7 7 if (ref $oldIndex) { }
3184 16 0 if defined $valList[$_]
3186 7 0 if @join
3190 12 2 if defined $newVal
3196 0 124 unless @$value
3199 155 24568 if (ref $value eq 'ARRAY') { }
3200 7 148 if (defined $tagInfo->{'RawJoin'}) { }
3212 24917 19 if (defined $conv) { }
3214 2906 22011 if (ref $val eq "HASH" and not @val)
3222 0 17017 unless defined $val->{$_}
3225 16635 382 if defined $val[$_] or not $tagInfo->{'Require'}{$_}
3226 0 382 if defined $oldFilter
3230 7 2517 if defined $oldFilter
3233 0 2524 ref $conv eq 'CODE' ? :
3235 7547 16988 if (ref $conv eq 'HASH') { }
3237 440 7107 unless (defined($value = $conv->{$val}))
3238 124 316 if ($conv->{'BITMASK'}) { }
3242 245 71 if ($conv->{'OTHER'})
3246 0 245 if $Image::ExifTool::evalWarning
3248 71 245 unless (defined $value)
3249 0 71 if ($tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq 'PrintConv') { }
3261 244 45 if ($self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'})
3266 0 244 if ($conv->{'BITMASK'} and not defined $conv->{$val}) { }
200 44 elsif (defined($tmp = $tmp->{$value})) { }
3269 0 0 if defined $tmp->{$_}
3280 835 16153 if (ref $conv eq 'CODE') { }
3285 0 16153 if $@
3287 0 16988 if $Image::ExifTool::evalWarning
3292 24193 361 unless $vals
3294 3 358 if (ref $value eq "SCALAR")
3299 361 0 if defined $value
3300 148 213 if (++$i >= scalar @$vals)
3301 148 0 if @values
3305 132 81 if ($convList)
3307 0 132 if ($nextConv and $nextConv eq 'REPEAT') { }
3315 566 23775 unless defined $value
3317 124 23651 if ($convList and ref $value eq "ARRAY")
3318 116 8 $convType eq 'PrintConv' ? :
3321 7484 34521 if ($type eq "Both")
3324 3277 4207 unless $both
3326 0 7484 if ($self->{'ESCAPE_PROC'}) { }
3771 3713 elsif (not defined $valueConv) { }
3328 0 0 if (defined $valueConv) { }
3342 163 34358 if $self->{'ESCAPE_PROC'}
3345 441 34080 if $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3347 289 34232 if (ref $value eq "ARRAY")
3348 3 286 if (defined $self->{'OPTIONS'}{'ListItem'}) { }
1 285 elsif (wantarray) { }
162 226 elsif ($type eq 'PrintConv' and not $self->{'OPTIONS'}{'List'} and not ref $value->[0]) { }
3371 2 23280 unless $tagInfo and defined $tagInfo->{'TagID'}
3373 0 23280 if wantarray
3389 23282 0 if ($tagInfo)
3393 671 129 if ($desc) { }
3395 245 426 if ref $desc
3400 0 1 unless $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3401 0 1 if ref $desc
3405 0 663 if $self->{'ESCAPE_PROC'}
3412 9412 13207 unless ($desc)
3415 9412 0 if $tagInfo
3435 120618 69901 if (ref $tag eq 'HASH') { }
3447 35640 154879 unless ($tagInfo->{'GotGroups'})
3450 30413 5227 unless $groups
3453 99622 7298 unless $groups->{$_}
3458 98724 91795 if (defined $family and $family ne '-1') { }
3459 2736 95988 if ($family =~ /[^\d]/) { }
3461 0 2736 unless @families
3462 2736 0 unless $family =~ /^:/
3465 0 2736 if @families == 1 and $families[0] != 7
3467 67503 28485 if $family == 0 or $family == 2
3471 380 91415 unless wantarray
3475 4709 117927 $tag =~ /\((\d+)\)$/ ? :
3477 44337 78299 unless ($byTagInfo)
3478 17255 27082 if ($ex)
3479 312 16943 if $ex->{'G0'}
3480 384 15848 $ex->{'G1'} =~ /^\+(.*)/ ? :
16232 1023 if $ex->{'G1'}
3481 1304 15951 if $ex->{'G3'}
3482 255 17000 if defined $ex->{'G5'}
3483 0 17255 if (defined $ex->{'G6'})
3484 0 0 unless defined $groups[5]
3489 44337 0 unless ($noID)
3491 2 44335 if (not defined $id) { }
27915 16420 elsif ($id =~ /^\d+$/) { }
3494 0 27915 if $self->{'OPTIONS'}{'HexTagIDs'}
3502 43626 79010 if ($family)
3503 28485 15141 if $family > 0
3507 31 15110 if ($groups[1] =~ /^MIE(\d*)-(.+?)(\d*)$/)
3509 0 31 $1 ? :
3510 0 31 $3 ? :
3511 0 31 $1 ? :
0 31 $3 ? :
3514 2736 91415 if (@families)
3519 0 5472 unless ($grp)
3520 0 0 if $simplify
3523 5456 16 unless $simplify and @grps and $grp eq $grps[-1]
3526 0 2736 if $simplify and @grps > 1 and $grps[0] eq "Main"
3547 2 1 if (ref $info ne 'HASH') { }
3553 0 3 unless defined $family
3572 0 475 unless @groups
3608 39944 3036 unless $Image::ExifTool::specialTags{$_}
3612 3036 39944 if $Image::ExifTool::specialTags{$tag}
3614 249 39695 unless $tagInfo
3628 8843 85790 unless ($reqTag)
3630 0 8843 if $index == 0
3633 285 85505 if ($subDoc) { }
26553 58952 elsif ($reqTag =~ /^(.*):(.+)/) { }
4895 108114 elsif ($notBuilt{$reqTag} and not $inhibit->{$index}) { }
3638 0 285 $reqTag =~ s/\b(Main|Doc(\d+)):// ? :
3642 285 0 unless ($cacheTag)
3645 285 0 if $reqTag =~ s/^(.*)://
3649 0 285 if defined $rawValue->{$key}
3650 285 0 if $i <= 0
3653 285 0 if defined $reqGroup
3654 0 285 if (@keys)
3658 0 0 $ex->{$_} ? :
3665 2095 659 if ($reqGroup eq "Composite" and $notBuilt{$name})
3668 1655 440 unless ($inhibit->{$index} and $allBuilt)
3676 3572 21965 if defined $rawValue->{$key}
3677 24898 639 if $i <= 0
3689 15763 63477 if (defined $rawValue->{$reqTag}) { }
24236 39241 elsif ($require->{$index}) { }
3690 66 15697 if ($inhibit->{$index}) { }
3702 0 33145 if ($docNum) { }
5135 28010 elsif ($found) { }
3708 24302 elsif (not defined $found) { }
3703 0 0 if ($found)
3707 0 0 unless $compKeys->{$_}
3713 0 0 if ++$docNum <= $self->{'DOC_COUNT'}
3722 18263 4544 unless $compositeID{$tagKey{$_}}
3726 6198 16609 unless $compKeys->{$_}
3734 32950 195 unless $subDoc
3737 165 30 if (%$require) { }
3741 165 0 unless defined $rawValue->{$reqTag}
3745 30 0 ref $tagInfo->{'SubDoc'} ? :
3748 0 60 unless my $desTag = $desire->{$_}
3750 0 60 if defined $rawValue->{$desTag}
3752 30 0 unless $docNum
3756 506 1708 unless @deferredTags
3757 440 1268 if (@deferredTags == @tagList)
3758 0 440 if ($allBuilt)
3778 0 11 unless $compositeID{$tag}
3816 0 953 unless (defined $file)
3818 0 0 if (defined $desc and $desc eq '0') { }
3825 0 0 unless defined $module
3826 0 0 unless defined $module and $module eq 0
3833 66 887 unless ($fileExt)
3834 0 66 if ($file =~ s/ \((.*)\)$//)
3838 66 0 unless $fileExt
3840 911 42 if $fileExt
3844 0 953 if ($desc) { }
904 49 elsif ($fileType and !defined($desc) || $desc ne '0') { }
3845 0 0 if ($fileType) { }
3846 0 0 if ($Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}) { }
3854 0 0 if $subType
3859 0 904 if defined $mod and $mod eq 0
3861 49 904 unless $fileType
3863 675 229 if (wantarray) { }
229 0 elsif ($fileType) { }
3864 4 671 if ref $fileType eq "ARRAY"
3866 0 229 if ref $fileType eq "ARRAY"
3878 0 0 unless my $file = shift()
3879 0 0 unless my($type) = &GetFileType($file)
3880 0 0 if ($Image::ExifTool::noWriteFile{$type})
3883 0 0 grep(/^$ext$/, @{$Image::ExifTool::noWriteFile{$type};}) ? :
0 0 if $ext
3885 0 0 if ($onlyWriteFile{$type})
3887 0 0 grep(/^$ext$/, @{$onlyWriteFile{$type};}) ? :
0 0 if $ext
3889 0 0 unless (%writeTypes)
3902 0 23 unless my $file = shift()
3904 0 23 unless my $type = &GetFileType($file)
3905 23 0 if $createTypes{$ext} or $createTypes{$type}
3920 3205 19977 if /[a-z]/
3961 0 770 if ($self->Options("HtmlDump"))
3966 0 770 unless ref $self->{'OPTIONS'}{'TextOut'}
3980 0 2 if ($self->{'OPTIONS'}{'Duplicates'}) { }
3990 14 252 if $haveInfo{$tagName}
4006 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4017 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4031 72 72 $i ? :
4032 2 142 unless defined $value->{$key}
4033 70 72 if ($et->GetGroup($key, 1) eq $grp)
4050 0 18 $tag =~ s/ \((\d+)\)$// ? :
4052 0 18 if defined $self->{'VALUE'}{$tag}
4067 62 41 unless $$strPt =~ /([\x80-\xff])/g
4074 30 153 if $ch < 194 or $ch >= 248
4077 75 78 if ($ch < 224) { }
78 0 elsif ($ch < 240) { }
4088 1 152 unless ($$strPt =~ /\G([\x80-\xbf]{$n})/g)
4089 0 1 if $trunc and $pos + $n > length $$strPt
4093 77 75 if ($n == 2) { }
4094 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
4099 0 75 if $ch == 240 and (ord $1 & 240) == 128 or $ch == 244 and ord $1 > 143 or $ch > 244
4102 10 142 unless $$strPt =~ /([\x80-\xff])/g
4115 473 0 if (eval { do { require File::Basename } }) { }
4121 0 0 length $1 ? :
0 0 if $name =~ s[(.*)/][]
4135 0 1136 if ($enc) { }
0 1136 elsif ($^O eq 'MSWin32' and $file =~ /[\x80-\xff]/ and not defined $enc) { }
4136 0 0 if ($file =~ /[\x80-\xff]/ or $force)
4138 0 0 if ($^O eq 'MSWin32') { }
4140 0 0 if (eval { do { require Win32API::File } })
4148 0 0 unless $enc eq "UTF8"
4152 0 0 if &IsUTF8(\$file) < 0
4170 0 688 $file =~ /\|$/ && $self->{'TRUST_PIPE'} ? :
688 220 unless $mode
4172 908 0 if ($mode)
4173 0 908 if ($self->EncodeFileName($file)) { }
4177 0 0 if ($mode eq '>') { }
4185 0 0 if $mode eq "+<"
4191 0 0 unless ($access & Win32API::File::GENERIC_WRITE())
4196 0 0 unless $wh
4198 0 0 if (not defined $fd or $fd < 0)
4220 0 221 if ($self->EncodeFileName($file)) { }
4226 0 0 unless $wh
4243 0 1 if ($et->EncodeFileName($file)) { }
4247 0 0 if $attrs and $attrs != 4294967295 and $attrs & $dirBit
4264 0 0 unless (ref $file)
4266 0 0 unless ($self->Open(\*FH, $file))
4267 0 0 if ($self->IsDirectory($file))
4269 0 0 if defined $rtn[0]
4277 0 0 if ($^O eq "MSWin32")
4278 0 0 if (not eval { do { require Win32::API } }) { }
0 0 elsif (not eval { do { require Win32API::File } }) { }
4285 0 0 unless ($win32Handle)
4292 0 0 unless ($k32GetFileTime)
4293 0 0 if defined $k32GetFileTime
4295 0 0 unless ($k32GetFileTime)
4301 0 0 unless ($k32GetFileTime->Call($win32Handle, $ctime, $atime, $mtime))
4339 153 1343 if (ref $arg and not overload::Method($arg, '""')) { }
870 473 elsif (defined $self->{'FILENAME'}) { }
4340 4 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')) { }
4343 2 10 if (/^-(.*)/) { }
4353 0 171 if (@oldGroupOpts and $opt =~ /^Group/)
4360 0 171 if $opt eq "Exclude"
4363 0 23 if defined $self->{'RAF'}
4366 0 22 if (ref $arg eq "SCALAR" and $] >= "5.006" and eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@)
4370 0 0 $] < 5.01 ? :
0 0 $@ ? :
4384 54 816 if ($arg =~ /^-(.*)/) { }
4394 42 653 if ($options->{'RequestTags'})
4398 356 339 if (@{$self->{'REQUESTED_TAGS'};})
4402 0 869 unless /^(.*:)?([-\w?*]*)#?$/
4403 869 0 if $2
4404 635 234 unless $1
4408 41 654 if (@exclude or $wasExcludeOpt)
4410 1 40 if $options->{'Exclude'}
4416 47 648 if ($options->{'Exclude'})
4418 63 1 if /([-\w]+)#?$/
4419 0 64 if (/(xmp-.*:[-\w]+)#?/i)
4420 0 0 unless $self->{'EXCL_XMP_LOOKUP'}
4425 6 41 if $self->{'TAGS_FROM_FILE'}
4436 1 1 if $grp eq $id
4437 0 1 if ($id =~ /^\d+$/) { }
4438 0 0 if $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
4440 0 1 if $id =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $id
4454 0 25450 unless ref $tagList
4460 26019 0 if ($grps[$g] =~ s/^(\d*)(id-)?//i)
4461 2 26017 if length $1
4462 0 26019 if ($2)
4468 0 26019 if $grps[$g] eq "copy0"
4474 0 15605 if $grp eq "*" or $grp eq "all"
4476 3 15602 if (defined($f = $fmys[$g])) { }
4477 0 3 unless defined $groups[$f]
4478 0 3 if ($f == 7) { }
4479 0 0 if &IsSameID(scalar $self->GetTagID($tag), $grp)
4481 2 1 if $grp eq lc $groups[$f]
4485 10772 4830 unless grep /^$grp$/i, @groups
4488 4368 10773 if ($g == @grps)
4489 1961 2407 unless wantarray
4493 552 22937 wantarray ? :
4507 6 63 if (@$list1 or @$list2) { }
4511 154 79 if ($exclude->{$tag} xor $inv) { }
4513 1 8 $_ == $i ? :
3 9 $_ < $i ? :
4514 154 1108 $_ == $i ? :
6983 1262 $_ < $i ? :
4521 3143 3721 unless $exclude->{$_} xor $inv
4547 356 334 if (@$reqTags) { }
4548 356 0 unless $rtnTags
4554 234 635 if ($reqTag =~ /^(.*):(.+)/) { }
4556 0 234 if ($group =~ /^(\*|all)$/i) { }
0 234 elsif (not $group =~ /^[-\w:]*$/) { }
4565 15 0 if $tag =~ s/#$// and $options->{'PrintConv'}
4566 0 869 if (defined $tagHash->{$reqTag} and not $doDups) { }
138 731 elsif ($tag =~ /^(\*|all)$/i) { }
3 728 elsif ($tag =~ /[*?]/) { }
728 0 elsif ($doDups or defined $group) { }
0 0 elsif ($tag =~ /^[-\w]+$/) { }
4570 137 1 if ($doDups or $allGrp) { }
4575 0 138 unless @matches
4581 3 0 if $doDups or $allGrp
4583 0 3 unless @matches
4593 0 0 unless defined $matches[0]
4597 234 635 if (defined $group and not $allGrp)
4600 15 219 unless @matches or not $allTag
4602 143 711 if (@matches > 1) { }
443 268 elsif (not @matches) { }
4606 0 1 unless ($doDups or $allTag or $allGrp)
4611 0 0 unless defined $priority
4612 0 0 unless $priority >= $oldPriority
4620 9 434 $byValue ? :
4625 15 839 if $byValue
4627 126 728 if $allTag
4633 334 0 if ($doDups) { }
4644 41 27 if ($exclude)
4648 30 27 if ($pat =~ /^(.*):(.+)/) { }
4650 0 30 if ($group =~ /^(\*|all)$/i) { }
0 30 elsif (not $group =~ /^[-\w:]*$/) { }
4660 30 27 if ($tag =~ /^(\*|all)$/i) { }
4668 30 27 if $group and @matches
4671 41 0 if (%exclude)
4674 0 41 unless @$rtnTags
4676 40 1 if $duplicates and not @groupOptions
4684 0 29 unless $groupOpt =~ /^Group(\d*(:\d+)*)/
4686 29 0 unless $wantGroup{$family}
4688 4 25 if (ref $options->{$groupOpt} eq 'ARRAY') { }
4697 2 31 if (/^-(.*)/) { }
4716 3438 1153 unless defined $wanted
4717 177 976 unless $wanted
4719 0 976 if $wantTag and $wantTag < $wanted
4722 3281 1047 unless $wantTag
4723 382 665 if $duplicates
4727 28 637 if (defined $bestTag)
4728 12 16 if $wantTag > $keepTags{$bestTag}
4729 0 16 if ($wantTag == $keepTags{$bestTag})
4731 0 0 if ($tag =~ / \((\d+)\)$/)
4733 0 0 if not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
4749 690 0 wantarray ? :
4762 475 246 if $callInfo[$#callInfo] eq "DESTROY"
4763 187 59 if (@callInfo == 4) { }
1 58 elsif ($callInfo[-1] eq 'ShiftTime') { }
4773 0 246 unless eval { do { require $file } }
4774 0 246 unless (defined &$autoload)
4800 32 55 if ($ignorable)
4801 1 31 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4802 0 1 if $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
4803 2 29 $ignorable eq '2' ? :
4816 0 16 if $ignorable and $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4817 41 7 unless ($self->{'WARNED_ONCE'}{$str})
4831 0 1 if ($self->{'DemoteErrors'}) { }
1 0 elsif ($ignorable) { }
4832 0 0 if $self->Warn($str)
4835 1 0 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4850 0 504 unless $tagList and @$tagList
4855 54 450 $removeSuffix ? :
4860 1 1024 if (ref $entry)
4868 23 1001 if (not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s) { }
4870 18 5 if ($post =~ /^[-+]?>/ or not $post =~ /\$/)
4873 4 14 unless defined $p2
4874 0 18 $t2 =~ s/#$// ? :
4876 0 18 if ($match)
4878 0 0 if /^-/
4879 0 0 if ($p2 and /(.+:)(.+)/) { }
4885 0 0 unless @post
4893 298 726 if ($tag =~ /(.+:)(.+)/) { }
4898 4 1020 $tag =~ s/#$// ? :
4903 17 1007 if ($match) { }
4904 0 17 if ($excl) { }
1 16 elsif (length $pre or length $post or $v) { }
4907 0 0 if /^-/
4909 0 0 if ($pre and /(.+:)(.+)/) { }
4918 0 12 if ($2) { }
4931 1024 0 unless @post
4947 0 584 if (ref $add) { }
4961 490 94 if ($defaultGroups) { }
4962 489 1 unless $defaultGroups->{'0'}
4963 486 4 unless $defaultGroups->{'1'}
4964 0 490 unless $defaultGroups->{'2'}
4970 587 5091 if $Image::ExifTool::specialTags{$tagID}
4973 1145 3946 if $tagInfo->{'Writable'}
4974 0 5091 if $override and not defined $tagInfo->{'Override'}
4977 337 4754 if ($compositeID{$tagID})
4981 0 337 if $over < 0
4982 0 337 if ($over)
4992 0 0 if $n++
4996 5091 0 unless $tagID eq $new
4999 4754 337 unless $compositeID{$tagID}
5005 8705 6568 unless my $req = $tagInfo->{$type}
5006 5619 949 ref $req eq 'HASH' ? :
5008 949 4142 if (@scalars)
5027 2239 2852 unless $groups
5030 11581 3692 unless $groups->{$_}
5043 0 1 if (defined &Image::ExifTool::TagLookup::AddTags) { }
1 0 elsif (not $Image::ExifTool::pluginTags{$tagHash}) { }
5061 2352 2308 if (ref $flags eq 'ARRAY') { }
0 2308 elsif (ref $flags eq 'HASH') { }
5092 34271 189912 unless $tagInfo->{'Name'}
5093 4603 219580 if $tagInfo->{'Flags'}
5094 8842 215341 if defined $avoid
5096 3027 221156 if ($tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'})
5102 200149 3679 unless @infoArray > 1
5116 5603 2185 if $_[0] =~ /^[+-]?(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
5118 2185 0 unless $_[0] =~ /^[+-]?(?=\d|,\d)\d*(,\d*)?([Ee]([+-]?\d+))?$/
5141 6554 3909 unless defined $_
5143 3908 1 /((?:[+-]?)(?=\d|\.\d)\d*(?:\.\d*)?(?:[Ee](?:[+-]?\d+))?)/ ? :
5168 1154 206 unless $Image::ExifTool::swapBytes
5177 1299 0 unless $Image::ExifTool::swapWords and length $_[0] == 8
5189 152348 4388 if $_[2]
5196 12 0 if $_[2]
5205 7739 24290 if $_[2]
5212 0 0 if $_[2]
5224 5384 21766 if ($Image::ExifTool::swapBytes) { }
5230 0 27150 unless defined $val
5241 0 1236 unless defined $val
5264 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16s($dataPt, $pos + 2)
5272 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16u($dataPt, $pos + 2)
5279 0 0 $ratNumer ? :
0 654 unless $ratDenom = &Get32s($dataPt, $pos + 4)
5286 0 17 $ratNumer ? :
17 2686 unless $ratDenom = &Get32u($dataPt, $pos + 4)
5293 0 13 $val < 0 ? :
5305 1210 544 $val > 0 ? :
5332 7856 7303 if ($order eq 'MM') { }
7112 191 elsif ($order eq 'II') { }
15 176 elsif ($order =~ /^Big/i) { }
11 165 elsif ($order =~ /^Little/i) { }
5347 0 14994 if ($val == 16672) { }
14994 0 elsif ($val == 8257) { }
5373 4 35 &GetByteOrder() eq 'II' ? :
5458 0 35372 unless ($len)
5462 0 35372 unless defined $size
5463 1359 34013 unless ($count)
5464 29 1330 if defined $count or $size < $len
5468 3 35340 if ($len * $count > $size)
5470 3 0 if $count < 1
5474 6162 29178 if (not $proc) { }
2994 26184 elsif ($isRational{$format} and $ratPt) { }
5478 3678 2484 if $format eq "string"
5485 2994 299 if --$count <= 0
5492 26184 22195 if --$count <= 0
5496 412 34928 if wantarray
5497 3558 31370 if @vals > 1
5514 60 6111 unless $from
5515 5929 242 unless $to
5516 1089 5082 if ($from ne $to and length $val)
5520 1089 0 if ($cs1 and $cs2 and not $cs2 & 2) { }
0 0 elsif ($self) { }
5522 776 313 if (($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/)
5527 0 0 $cs1 ? :
5528 0 0 unless ($$self{"DecodeWarn$set"})
5555 133 38 unless $bits
5560 5813 139 unless $val & 1 << $i
5562 19 120 if (not $lookup) { }
114 6 elsif ($lookup->{$n}) { }
5572 76 95 unless @bitList
5573 76 19 $lookup ? :
5584 0 199 if $$imagePt eq "none"
5585 113 10 unless ($$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors"))
5592 0 113 if ($self->{'REQ_TAG_LOOKUP'}{lc &GetTagName($tag)})
5623 0 34363 if length $name < 2
5639 9594 621 unless defined $tagID
5647 630 9585 if defined $tagID
5676 12611 462 unless defined $filter and defined $$valPt
5678 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') { }
5682 446 0 if (defined $_)
5711 0 593 unless defined $outStr
5715 593 0 if ($verbose < 4) { }
5716 592 1 if ($maxLen) { }
1 0 elsif (defined $maxLen) { }
5717 0 592 if $maxLen < 20
5726 0 0 if $maxLen > 2048 and $verbose < 5
5730 8 585 if length $outStr > $maxLen
5743 8 1771 if ($shift)
5744 8 0 $shift =~ s/^([-+])// && $1 eq '-' ? :
5746 1 7 unless $offset
5750 5 1774 if ($fmt)
5753 4 1 if $date =~ s/([-+]\d{2}:\d{2}|Z)$//
5759 5 0 if (@a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }) { }
0 0 elsif ($self->{'OPTIONS'}{'StrictDate'}) { }
5766 0 5 if ($fmt =~ /%(-?)\.?(\d*)f/)
5768 0 0 $date =~ /(\.\d+)/ ? :
5769 0 0 if (not $frac) { }
0 0 elsif (length $dig) { }
5770 0 0 if $dig
5772 0 0 if ($dig + 1 > length $frac) { }
0 0 elsif ($dig + 1 < length $frac) { }
5778 0 0 if ++$a[0] < 60
5780 0 0 if ++$a[1] < 60
5782 0 0 if ++$a[2] < 24
5785 0 0 if ++$a[3] <= DaysInMonth($a[4] + 1, $a[5])
5787 0 0 if ++$a[4] < 12
5794 0 0 if $neg
5798 0 5 if ($fmt =~ /%[sz]/)
5800 0 0 if not $tz and eval { do { require Time::Local } }
5802 0 0 $tz && $tz =~ /^([-+]\d{2}):(\d{2})$/ ? :
5804 0 0 if ($fmt =~ /%s/ and eval { do { require Time::Local } })
5826 3 0 if (&IsFloat($val) and $val != 0)
5827 2 1 if $mult
5828 0 3 if ($val < 60) { }
3 0 elsif ($val < 3600) { }
0 0 elsif ($val < 86400) { }
5831 2 1 $mult && $mult >= 60 ? :
5832 1 2 $val == 60 && $mult ? :
5850 0 36 if ($^O eq "MSWin32")
5869 0 930 if ($tm->[3] != $gm->[3])
5871 0 0 $tm->[3] == 1 ? :
0 0 if abs $tm->[3] - $gm->[3] != 1
5877 0 0 $min > 0 ? :
0 930 if $^O eq "mirbsd"
5889 930 41 if (ref $min)
5894 1 970 if $min < 0
5908 1 1035 if $time == 0
5910 0 1035 if ($dec) { }
5913 0 0 if $frac < 0
5916 0 0 if $dec =~ s/^(\d)// and $1 eq 1
5918 16 1019 if $time != int $time
5921 871 164 if ($toLocal) { }
5940 0 162 if $timeStr eq "0000:00:00 00:00:00"
5942 0 162 unless @tm == 7
5943 0 162 unless (eval { do { require Time::Local } })
5950 113 49 if ($isLocal)
5951 113 0 if ($tzStr =~ /(?:Z|([-+])(\d+):(\d+))/i) { }
0 0 elsif ($isLocal eq '2') { }
5953 55 52 $1 eq '-' ? :
107 6 if $1
5961 0 162 $isLocal ? :
5963 1 159 if $tzStr and $tzStr =~ /^(\.\d+)/
5974 106 194 if $val < 2000
5975 142 52 if $val < 10000
5976 48 4 if $val < 2000000
5977 3 1 if $val < 10000000
5978 1 0 if $val < 2000000000
5979 0 0 if $val < '10000000000'
5990 0 130 unless &IsFloat($time)
5991 69 61 if $time == 0
5992 61 0 $time > 0 ? :
5993 57 4 if $time < 30
5999 0 4 if ($h > 24)
6015 0 19 unless &IsFloat($bitrate)
6019 17 19 if $bitrate >= 1000 and @units
6020 13 6 $bitrate < 100 ? :
6033 0 946 if $enc
6045 0 1 if $enc
6057 0 0 unless $self->{'HTML_DUMP'}
6059 0 0 if $self->{'BASE'}
6062 0 0 if ($self->{'SkipData'})
6066 0 0 if $end <= $skip->[0]
6067 0 0 if $pos >= $skip->[1]
6068 0 0 if ($pos != $skip->[0])
6093 566 0 if $len > 64
6094 0 566 unless $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6095 29 537 if ($buff =~ /AXS(!|\*).{8}$/s) { }
29 508 elsif ($buff =~ /\xa1\xb2\xc3\xd4$/) { }
34 474 elsif ($buff =~ /cbipcbbl$/) { }
41 433 elsif ($buff =~ /^CANON OPTIONAL DATA\0/) { }
26 407 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 381 elsif ($buff =~ /\0\0(QDIOBS|SEFT)$/) { }
0 381 elsif ($buff =~ /8db42d694ccc418790edff439fe026bf$/s) { }
0 381 elsif ($buff =~ m[\0{6}/NIKON APP$]) { }
6117 185 381 $type ? :
6145 0 185 if ($dirName eq 'Insta360') { }
0 185 elsif ($dirName eq 'NikonApp') { }
6155 50 135 if ($outfile)
6157 35 15 if $$outfile
6180 50 135 if ($outfile) { }
0 135 elsif ($result < 0) { }
6181 50 0 if ($result > 0) { }
6182 33 17 if ($outBuff)
6186 33 0 if $fixup
6189 15 35 if ($dirInfo->{'Fixup'})
6190 7 8 if ($fixup)
6200 0 0 if $self->Error("Error rewriting $dirName trailer", 2)
6208 0 185 unless $result > 0 and $dirInfo->{'DirLen'}
6211 57 128 unless my $nextTrail = &IdentifyTrailer($raf, $offset)
6271 1157 1898 unless ($markerName)
6273 1157 0 if ($markerName and $markerName =~ /^([A-Z]+)\d+$/) { }
6291 263 297 if (defined $base)
6319 0 233 unless $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
6320 2 231 if ($s eq "\377\1")
6321 0 2 unless $raf->Read($s, 5) == 5 and $s eq "Exiv2"
6326 0 233 if ($options->{'RequestAll'} and $options->{'RequestAll'} > 2)
6329 225 2 if (not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'})
6331 1 224 if $fast == 3
6334 1 231 if $self->Options("FastScan")
6336 232 0 if $verbose < 4
6337 0 232 if ($htmlDump)
6339 0 0 $s eq 'Exiv2' ? :
6341 0 0 if $pos
6364 1820 230 unless ($marker and $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147)
6367 0 1820 unless $raf->ReadLine($buff)
6371 0 1820 unless $raf->Read($ch, 1)
6373 1820 0 unless $nextMarker == 255
6377 1587 233 if (not defined $markerLenBytes{$nextMarker}) { }
0 233 elsif ($markerLenBytes{$nextMarker} == 4) { }
6379 0 1587 unless $raf->Read($s, 2) == 2
6381 0 1587 unless defined $len and $len >= 2
6384 0 1587 unless $raf->Read($buff, $len) == $len
6388 0 0 unless $raf->Read($s, 4) == 4
6390 0 0 unless defined $len and $len >= 4
6393 0 0 unless $raf->Seek($len, 1)
6396 233 1587 unless defined $marker
6402 0 0 if ($skipped and not $foundSOS and $markerName ne "SOS")
6404 0 0 if ($htmlDump)
6413 229 1591 if (($marker & 240) == 192 and $marker == 192 || $marker & 3) { }
3 1588 elsif ($marker == 217) { }
229 1359 elsif ($marker == 218) { }
1 1358 elsif ($marker == 147) { }
0 1358 elsif (defined $markerLenBytes{$marker}) { }
1 1546 elsif ($marker == 219 and length $$segDataPt and $req->{'jpegdigest'} || $req->{'jpegqualityestimate'} || $options->{'RequestAll'} && $options->{'RequestAll'} > 2) { }
6415 2 227 if ($verbose) { }
0 227 elsif ($htmlDump) { }
6417 1 1 if $verbose > 2
6422 0 229 unless $length >= 6
6431 0 229 unless $n == 3 and $length >= 15
6440 229 458 unless ($i)
6446 229 229 if $hf < $hmin
6447 0 458 if $hf > $hmax
6448 228 230 if $vf < $vmin
6449 0 458 if $vf > $vmax
6451 229 0 if ($hmin and $vmin)
6458 1 2 if $verbose
6460 0 3 if ($htmlDump and $dumpEnd)
6465 3 0 if ($foundSOS or $self->{'FILE_TYPE'} eq 'EXV') { }
6470 0 3 if ($req->{'trailer'})
6472 0 0 if ($raf->Seek(0, 2)) { }
6474 0 0 if ($len)
6477 0 0 if $raf->Read($buff, $len) == $len
6485 0 3 if ($wantTrailer)
6487 0 0 if ($start or $options->{'ExtractEmbedded'})
6493 0 0 $self->{'Make'} =~ /Sony/i ? :
6494 0 0 if ($raf->Read($buff, $scanLen))
6495 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) { }
6497 0 0 if ($raf->Seek(0, 2)) { }
6499 0 0 if ($options->{'Binary'}) { }
6500 0 0 if $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
6504 0 0 if ($val) { }
6517 0 0 if ($start and $start ne $actual and $verbose > 1)
6521 0 0 if ($start)
6522 0 0 if $self->{'VALUE'}{'PreviewImageStart'}
6526 0 0 if ($self->{'PreviewError'} and $self->{'PreviewImageLength'})
6527 0 0 if ($raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'}))
6540 0 3 if ($trailInfo)
6547 0 3 if ($self->{'LeicaTrailer'})
6554 1 2 if ($verbose or $htmlDump)
6556 1 0 unless ($endPos)
6561 0 1 if $endPos > $pos
6566 0 3 if $calcImageLen
6572 2 227 if $verbose
6573 228 1 unless ($fast)
6576 28 0 if ($trailInfo and $verbose < 3 and not $htmlDump)
6579 28 0 if $self->ProcessTrailers($trailInfo)
6581 0 0 if ($wantTrailer and $self->{'PreviewImageStart'})
6585 0 0 if ($raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/)
6591 0 0 unless $raf->Seek($curPos, 0)
6594 0 228 if ($self->{'LeicaTrailer'}) { }
6597 0 0 if $self->{'LeicaTrailer'}
6599 0 228 if $options->{'ExtractEmbedded'}
6601 1 227 if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
6604 0 228 if $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
6610 0 1 if $verbose
6612 0 1 if $verbose > 2 or $htmlDump
6616 0 0 if $verbose and $marker
6628 1 0 if $num < 4
6634 862 496 if ($marker & 240) == 224
6635 6 1352 if ($verbose)
6637 3 3 if ($verbose > 2)
6639 0 3 if $verbose == 4
6653 106 1252 if ($marker == 224) { }
259 993 elsif ($marker == 225) { }
120 873 elsif ($marker == 226) { }
20 853 elsif ($marker == 227) { }
0 853 elsif ($marker == 228) { }
20 833 elsif ($marker == 229) { }
37 796 elsif ($marker == 230) { }
19 777 elsif ($marker == 231) { }
19 758 elsif ($marker == 232) { }
19 739 elsif ($marker == 233) { }
19 720 elsif ($marker == 234) { }
38 682 elsif ($marker == 235) { }
40 642 elsif ($marker == 236) { }
82 560 elsif ($marker == 237) { }
45 515 elsif ($marker == 238) { }
19 496 elsif ($marker == 239) { }
27 469 elsif ($marker == 254) { }
2 467 elsif ($marker == 100) { }
1 466 elsif ($marker == 81) { }
466 0 elsif (($marker & 240) != 224) { }
6654 49 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)/) { }
6667 0 19 if $fast > 1
6686 187 72 if ($$segDataPt =~ /^(.{0,4})Exif\0/is) { }
2 70 elsif ($$segDataPt =~ /^$Image::ExifTool::xmpExtAPP1hdr/) { }
1 69 elsif ($$segDataPt =~ /^QVCI\0/) { }
1 68 elsif ($$segDataPt =~ /^FLIR\0/ and $length >= 8) { }
0 68 elsif ($$segDataPt =~ /^PARROT\0(II\x2a\0|MM\0\x2a)/) { }
6691 0 187 if (length $1) { }
0 187 elsif (not $$segDataPt =~ /^Exif\0/) { }
6697 0 187 if ($htmlDump)
6703 0 187 if (defined $combinedSegData)
6711 0 187 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/)
6715 0 0 unless (defined $combinedSegData)
6728 0 187 if @skipData
6730 0 187 unless $self->ProcessTIFF(\%dirInfo)
6736 171 4 if (not $start or not $plen and $self->{'PreviewError'})
6740 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'})
6750 0 187 if (@skipData)
6763 2 0 if ($length > 75) { }
6766 0 2 if ($guid =~ /[^A-Za-z0-9]/) { }
6770 1 1 if (not $extXMP) { }
0 1 elsif ($size != $extXMP->{'Size'}) { }
6794 0 1 if $verbose
6796 0 1 if (defined $flirTotal) { }
6798 0 0 if $chunksTot != $flirTotal
6803 1 0 if (defined $flirCount) { }
6804 0 1 if (defined $flirChunk[$chunkNum]) { }
6811 1 0 if (++$flirCount >= $flirTotal)
6835 68 0 if ($$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/)
6839 68 0 $$segDataPt =~ /^$Image::ExifTool::xmpAPP1hdr/ ? :
6842 68 0 $start ? :
6844 0 68 if ($processed and not $start)
6848 0 68 if ($verbose and not $processed)
6853 34 86 if ($$segDataPt =~ /^ICC_PROFILE\0/ and $length >= 14) { }
67 19 elsif ($$segDataPt =~ /^FPXR\0/) { }
19 0 elsif ($$segDataPt =~ /^MPF\0/) { }
0 0 elsif ($$segDataPt =~ /^(|QVGA\0|BGTH)\xff\xd8\xff[\xdb\xe0\xe1]/) { }
0 0 elsif ($preview) { }
6859 0 34 if $verbose
6860 0 34 if (defined $iccChunksTotal) { }
6862 0 0 if $chunksTot != $iccChunksTotal
6866 0 34 unless $chunksTot
6868 34 0 if (defined $iccChunkCount) { }
6869 0 34 if (defined $iccChunk[$chunkNum]) { }
6876 34 0 if (++$iccChunkCount >= $iccChunksTotal)
6896 0 67 if $fast > 1
6906 0 19 if ($htmlDump)
6923 0 120 if ($preview and $nextMarker ne $marker)
6928 19 1 if ($$segDataPt =~ /^(Meta|META|Exif)\0\0/) { }
0 1 elsif ($$segDataPt =~ /^Stim\0/) { }
1 0 elsif ($$segDataPt =~ /^_JPSJPS_/) { }
0 0 elsif ($self->{'Make'} eq 'DJI') { }
0 0 elsif ($$segDataPt =~ /^\xff\xd8\xff\xdb/) { }
6931 0 19 if ($htmlDump)
6940 0 0 if ($htmlDump)
6950 1 0 if $self->{'FILE_TYPE'} eq "JPEG"
6958 0 0 if (defined $combinedSegData)
6962 0 0 if ($nextMarker == $marker) { }
6963 0 0 unless defined $combinedSegData
6974 0 20 if ($preview and $nextMarker ne 228)
6979 0 0 if ($$segDataPt =~ /^SCALADO\0/ and $length >= 16) { }
0 0 elsif ($$segDataPt =~ /^FPXR\0/) { }
0 0 elsif ($self->{'Make'} eq 'DJI' and $$segDataPt =~ /^\xaa\x55\x12\x06/) { }
0 0 elsif ($preview) { }
6983 0 0 unless defined $scalado
6985 0 0 if ($idx == $num - 1)
6986 0 0 if ($len != length $scalado)
6998 0 0 if $fast > 1
7016 0 0 if ($preview and $nextMarker ne 229)
7021 20 0 if ($$segDataPt =~ /^RMETA\0/) { }
0 0 elsif ($$segDataPt =~ /^ssuniqueid\0/) { }
0 0 elsif ($self->{'Make'} eq 'DJI') { }
0 0 elsif ($preview) { }
7042 18 19 if ($$segDataPt =~ /^EPPIM\0/) { }
18 1 elsif ($$segDataPt =~ /^NITF\0/) { }
0 1 elsif ($$segDataPt =~ /^TDHD\x01\0\0\0/ and $length > 12) { }
1 0 elsif ($$segDataPt =~ /^GoPro\0/) { }
0 0 elsif ($$segDataPt =~ /^DTAT\0\0.\{/s) { }
7045 0 18 if ($htmlDump)
7076 0 19 if ($$segDataPt =~ /^PENTAX \0(II|MM)/) { }
0 19 elsif ($$segDataPt =~ /^HUAWEI\0\0(II|MM)/) { }
19 0 elsif ($$segDataPt =~ /^\x1aQualcomm Camera Attributes/) { }
7084 0 0 if ($htmlDump)
7097 0 0 if ($htmlDump)
7117 19 0 if ($$segDataPt =~ /^SPIFF\0/ and $length == 32)
7124 19 0 if ($$segDataPt =~ /^Media Jukebox\0/ and $length > 22)
7134 19 0 if ($$segDataPt =~ /^UNICODE\0/) { }
0 0 elsif ($$segDataPt =~ /^AROT\0/ and $length > 10) { }
7144 19 19 if ($$segDataPt =~ /^HDR_RI /) { }
19 0 elsif ($$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16) { }
7147 0 19 if (defined $combinedSegData)
7148 0 0 if ($$segDataPt =~ /~\0/g) { }
7155 0 19 if ($nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /) { }
7156 0 0 unless defined $combinedSegData
7172 0 19 if ($len == 1 and length $$segDataPt >= 24) { }
7178 19 0 unless $jumbfChunk{$type}
7179 0 19 if ($len < $hdrLen) { }
0 19 elsif ($seq < 0) { }
0 19 elsif (defined $jumbfChunk{$type}[$seq]) { }
7191 0 19 unless defined $_
7194 19 0 if ($size == $len)
7206 21 19 if ($$segDataPt =~ /^Ducky/) { }
7213 19 0 if $self->ProcessDirectory(\%dirInfo, $tagTablePtr)
7217 63 19 if ($$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1) { }
19 0 elsif ($$segDataPt =~ /^Adobe_CM/) { }
7221 0 63 if (defined $combinedSegData)
7226 0 63 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/) { }
7228 0 0 unless defined $combinedSegData
7231 0 63 $isOld ? :
7253 45 0 if ($$segDataPt =~ /^Adobe/)
7255 16 29 if ($req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'})
7268 19 0 if ($$segDataPt =~ /^Q\s*(\d+)/ and $length == 4)
7279 2 0 if ($length > 2)
7282 2 0 if $reg == 1
7284 0 2 $reg == 0 || $reg == 65535 ? :
7294 1115 56 if (defined $dumpType)
7295 0 1 if (not $dumpType and $options->{'Unknown'} || $options->{'Validate'})
7296 0 0 $$segDataPt =~ /^([\x20-\x7e]{1,20})\0/ ? :
7297 0 0 unless $xtra
7300 0 1115 if ($htmlDump)
7301 0 0 $dumpType ? :
0 0 unless $desc
7309 1 231 if (%extendedXMP)
7315 1 0 if $readGuid eq 1
7317 0 1 unless length $guid == 32
7322 0 2 unless defined $extXMP->{$off}
7326 0 1 unless ($off == $extXMP->{'Size'})
7330 1 0 if ($guid eq $readGuid or $readGuid eq '2') { }
7331 0 1 if $guid ne $goodGuid
7346 0 0 if $guid ne $goodGuid
7348 0 1 if $warn
7353 1 231 if (@dqt)
7358 0 232 if %jumbfChunk
7359 0 232 if defined $iccChunkCount
7360 0 232 if defined $flirCount
7361 0 232 if $self->{'PreviewError'}
7362 0 232 unless $success
7363 0 232 if @$path > $pn
7397 108 375 if (defined $exifData)
7420 47 436 if ($raf) { }
394 42 elsif ($dataPt and length $$dataPt) { }
42 0 elsif ($outfile) { }
7421 14 33 if ($outfile) { }
7422 0 14 unless $raf->Seek(0, 0)
7423 0 14 if ($base)
7424 0 0 unless $raf->Read($$dataPt, $base) == $base
7425 0 0 unless &Write($outfile, $$dataPt)
7428 0 33 unless $raf->Seek($base, 0)
7431 3 44 $fileType eq 'EXIF' ? :
7433 1 46 if ($n < 8)
7434 0 1 if $n or not $outfile or $fileType ne "EXIF"
7439 2 45 if ($n > 8)
7441 0 2 if ($n == $amount)
7451 0 394 if $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
7457 43 440 unless (defined $self->{'EXIF_DATA'})
7460 0 43 if ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS")
7464 34 9 if ($self->SetPreferredByteOrder($defaultByteOrder) eq 'MM') { }
7471 375 108 unless defined $self->{'FIRST_EXIF_POS'}
7476 6 477 unless &SetByteOrder($byteOrder)
7484 0 477 if $fileType eq "APP1" and $identifier != 42
7487 0 477 if length $$dataPt < 8
7489 0 477 unless $offset >= 8
7491 40 437 if ($raf)
7495 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') { }
7496 0 17 unless $raf->Read($sig, 8) == 8
7498 10 7 if ($sig =~ /^(CR\x02\0|\xba\xb0\xac\xbb|ExifMeta)/)
7499 1 9 if ($sig eq 'ExifMeta') { }
7503 9 0 $sig =~ /^CR/ ? :
7506 0 10 if $self->{'HTML_DUMP'}
7512 3 0 if ($offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\035M\224znw\202+]j") { }
7515 3 0 unless $fileType eq "RWL"
7516 0 3 if $self->{'HTML_DUMP'}
7523 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) { }
7528 0 0 if ($result)
7529 0 0 if $self->{'MultiPage'}
7541 0 0 if ($ver > 1)
7548 38 2 if ($fileType and not $self->{'VALUE'}{'FileType'})
7550 0 38 unless ref $lookup or not $lookup
7552 0 38 ref $lookup->[0] ? :
38 0 $lookup ? :
7553 37 1 $baseType eq 'TIFF' || $fileType =~ /RAW/ ? :
7557 0 27 if not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} == 3
7560 18 459 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/ ? :
7561 401 76 if (not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq 'EXIF') { }
19 57 elsif ($tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes') { }
7562 281 120 unless $outfile
7568 0 477 if ($self->{'HTML_DUMP'})
7569 0 0 $byteOrder eq 'II' ? :
7577 227 250 unless $tagTablePtr
7595 353 124 unless ($outfile)
7599 7 346 if ($self->{'VALUE'}{'GeoTiffDirectory'})
7604 27 326 if ($raf)
7606 3 24 if ($trailInfo)
7611 0 0 if ($self->{'HTML_DUMP'} and $self->{'KnownTrailer'})
7615 0 0 if $trailInfo
7616 0 0 if $len > 0
7620 0 353 if ($self->{'DNGVersion'} and not $self->{'VALUE'}{'FileType'} =~ /^(DNG|GPR)$/)
7624 10 343 if ($self->{'TIFF_TYPE'} eq "TIFF")
7625 0 10 if $self->{'MultiPage'}
7632 1 123 if ($dirInfo->{'NoTiffEnd'}) { }
7638 3 121 if ($canonSig) { }
7643 0 3 unless Image::ExifTool::CanonRaw::WriteCR2($self, \%dirInfo, $tagTablePtr)
7646 3 118 if ($fileType eq 'EXIF') { }
117 1 elsif (not defined $otherSig) { }
7658 1 120 if $fileType eq "ORF" or $identifier != 42
7660 0 121 if (not defined $newData) { }
115 6 elsif (length $newData) { }
7665 5 110 if ($hdrLen != 8)
7669 0 0 if $pi and $pi->{'Fixup'}
7671 0 115 if ($self->{'TIFF_TYPE'} eq 'ARW' and not $err) { }
7676 0 0 if $errStr
7679 0 115 unless &Write($outfile, $header, $newData)
7684 10 111 if (ref $dirInfo{'ImageData'} and not $err)
7685 0 10 unless $self->CopyImageData($dirInfo{'ImageData'}, $outfile)
7694 12 1 if ($raf and $tiffEnd and not $err)
7696 0 12 unless $raf->Seek(0, 2)
7700 9 3 unless $extra > 12
7703 3 0 unless $trailInfo
7708 0 0 unless ($self->ProcessTrailers($trailInfo))
7718 1 11 if ($extra > 0 and $tiffEnd & 1)
7719 0 1 unless $raf->Seek($tiffEnd, 0)
7720 0 1 unless $raf->Read($buf, 1)
7721 1 0 if defined $buf and $buf eq "\0"
7723 3 9 if ($extra > 0)
7725 0 3 if ($self->{'DEL_GROUP'}{'Trailer'} and not $known) { }
0 3 elsif ($known) { }
7730 0 0 unless $raf->Seek($tiffEnd, 0)
7731 0 0 unless &CopyBlock($raf, $outfile, $extra)
7733 0 3 unless $raf->Seek($tiffEnd, 0)
7738 0 3 $size > 65536 ? :
7739 0 3 unless $raf->Read($buf, $n) == $n
7740 3 0 if ($buf =~ /[^\0]/)
7743 0 3 if $size != $extra
7744 0 3 unless &Write($outfile, $buf)
7745 0 3 if $size > $n
7749 0 0 if $size > 0
7756 0 12 if $trailInfo
7759 2 10 if $trailPt
7762 1 123 if ($self->{'DNGVersion'})
7765 0 1 unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.6")
7770 0 124 $err ? :
7783 387193 63569 unless $Image::ExifTool::specialTags{$_}
7802 4 89506 unless my $tableName = shift()
7805 4512 84994 unless ($table)
7807 872 3640 unless (%$tableName)
7809 872 0 if ($tableName =~ /(.*)::/)
7811 872 0 if (eval "require $module") { }
7813 28 844 unless (%$tableName)
7814 28 0 if ($module eq 'Image::ExifTool::XMP') { }
0 0 elsif ($tableName eq 'Image::ExifTool::QuickTime::Stream') { }
7821 0 0 if $@
7824 0 872 unless (%$tableName)
7832 13 4499 if $table->{'INIT_TABLE'}
7837 124 4388 unless $defaultGroups
7838 3599 913 unless ($defaultGroups->{'0'} and $defaultGroups->{'1'})
7839 3599 0 if ($tableName =~ /Image::.*?::([^:]*)/) { }
7840 1375 2224 unless $defaultGroups->{'0'}
7841 2962 637 unless $defaultGroups->{'1'}
7843 0 0 unless $defaultGroups->{'0'}
7844 0 0 unless $defaultGroups->{'1'}
7847 270 4242 unless $defaultGroups->{'2'}
7848 510 4002 if ($defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'})
7853 19 491 unless $table->{'WRITE_PROC'}
7854 60 450 unless $table->{'CHECK_PROC'}
7855 57 453 unless $table->{'LANG_INFO'}
7858 4412 100 unless (defined $table->{'TAG_PREFIX'})
7860 4412 0 if ($tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/) { }
7870 2 566 if (%Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite)
7873 0 3 if $Image::ExifTool::specialTags{$tagID}
7885 0 162 if ($table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName})
7906 0 4885 unless $tagTablePtr and $dirInfo
7908 4478 407 unless $proc
7911 701 4184 unless ($dirName)
7913 179 522 if $dirName =~ /^APP\d+$/
7918 4083 49 if (defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'}))
7923 0 4083 if ($self->{'PROCESSED'}{$addr})
7926 0 0 unless $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
7967 1796 131 if ($filename and $filename =~ /^.*\.([^.]+)$/s)
7971 34 1762 if $fileExt eq "TIF"
7986 0 531764 if ($Image::ExifTool::specialTags{$tagID}) { }
487561 44203 elsif (ref $tagInfo eq 'HASH') { }
10984 33219 elsif (ref $tagInfo eq 'ARRAY') { }
28780 4439 elsif ($tagInfo) { }
8020 12637 98209 if ($condition)
8021 806 11831 if @_ > 3
8022 662 11975 if $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
8027 9552 2423 unless (eval $condition)
8028 0 9552 if $@
8029 0 9552 if $Image::ExifTool::evalWarning
8034 2061 1016 if ($tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} || $self->{'HTML_DUMP'} || $self->{'OPTIONS'}{'Validate'} && !$tagInfo->{'AddedUnknown'})
8044 599 4597 if (not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}) { }
8048 155 444 if (defined $tagTablePtr->{'PRINT_CONV'}) { }
8086 0 0 $tagInfo ? :
0 6104 unless ref $tagInfo eq "HASH"
8089 432 5672 if ($tagInfo->{'Groups'}) { }
8092 738 558 if $tagInfo->{'Groups'}{$_}
8098 57 6047 if $tagInfo->{'Flags'}
8102 1442 4662 if (defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'})
8107 24 6080 unless defined $name
8111 22 2 unless (defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'})
8117 14 6090 if length $name < 2 or not $name =~ /^[A-Z]/i
8121 6021 0 unless (defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID})
8124 645 5459 if $tagInfo->{'Unknown'}
8145 7259 2107 if ($tagInfo) { }
8148 2107 0 unless $verbose
8153 0 574 unless (defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'})
8155 874 0 $dataPt ? :
8157 4 870 unless defined $size
8159 874 0 if ($start >= 0 and $start + $size <= $dLen) { }
8161 319 0 if not $format and $pfmt and $formatSize{$pfmt}
8162 422 452 if ($format) { }
8173 51 7208 if ($verbose)
8174 0 51 if $noTagInfo
8176 0 51 if defined $rational
8178 0 51 if ($format)
8184 7259 0 if ($tagInfo)
8185 747 6512 if ($subdir)
8188 1 746 if ($tagInfo->{'RawConv'} and not $tagInfo->{'Writable'})
8192 0 1 if (ref $conv eq 'CODE') { }
8199 0 1 if $@
8201 0 1 if $Image::ExifTool::evalWarning
8202 0 1 unless defined $val
8203 1 0 if ref $val eq "SCALAR"
8208 8 739 if ($subdir->{'Start'})
8215 12 735 unless $dataPt
8231 3 744 if ($subdir->{'ByteOrder'})
8232 1 2 if ($subdir->{'ByteOrder'} eq 'Unknown') { }
8233 1 0 if ($subdirStart + 2 <= $subdirLen)
8236 1 0 if $num & 65280 and $num >> 8 > ($num & 255)
8246 747 0 unless $tagInfo->{'Writable'}
8250 12 6500 if defined $rational and defined $key
8270 50844 7303 if (ref $tagInfo eq 'HASH') { }
8271 0 50844 unless $tag = $tagInfo->{'Name'}
8280 2 7301 unless $tagInfo
8281 39 7264 if $options->{'Verbose'}
8285 53765 4382 unless (defined $priority)
8287 39 51627 if not defined $priority and $tagInfo->{'Avoid'}
8289 58133 14 unless $grps[0]
8290 58133 14 unless $grps[1]
8293 9045 49102 if ($tagInfo->{'RawConv'})
8296 1729 0 if (ref $value eq "HASH" and $tagInfo->{'IsComposite'})
8302 217 8828 if (ref $conv eq 'CODE') { }
8304 0 217 if $self->{'grps'}
8310 0 8828 if $@
8312 0 9045 if $Image::ExifTool::evalWarning
8313 2514 6531 unless defined $value
8316 0 55633 if ($options->{'IgnoreTags'})
8317 0 0 if ($options->{'IgnoreTags'}{'all'}) { }
8318 0 0 unless $self->{'REQ_TAG_LOOKUP'}{lc $tag}
8320 0 0 if $options->{'IgnoreTags'}{lc $tag}
8324 6596 49037 if (defined $valueHash->{$tag}) { }
209 48828 elsif ($priority) { }
8326 642 5954 if ($self->{'LIST_TAGS'}{$tagInfo})
8328 65 577 if (defined $self->{'NO_LIST'}) { }
8330 31 34 if (defined $self->{'TAG_EXTRA'}{$tag}{'NoList'}) { }
8337 298 279 if (ref $valueHash->{$tag} ne "ARRAY")
8354 5111 908 unless ($oldPriority)
8355 5076 35 if ($self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq 'Warning' or not $self->{'TAG_EXTRA'}{$tag}{'G3'}) { }
8364 2014 4005 if (defined $priority) { }
411 3594 elsif ($self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}) { }
8367 40 1889 if not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
8375 2728 3291 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) { }
8386 1880 3576 if ($self->{$_}{$tag})
8393 7 2721 if $self->{'LIST_TAGS'}{$oldInfo}
8395 86 2642 if ($self->{'COMP_KEYS'}{$tag})
8404 65 5954 if $noListDel
8416 493 54563 if $grps[0]
8417 4301 50755 if $grps[1]
8418 1749 53307 if ($self->{'DOC_NUM'})
8420 1749 0 if ($self->{'DOC_NUM'} =~ /^(\d+)/)
8422 33 1716 unless $self->{'DOC_COUNT'} >= $1
8426 258 54798 if $options->{'SavePath'}
8430 1108 181 if ($tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel)
8437 213 54843 if ($options->{'Validate'} and not ref $value)
8450 22 0 unless $self->{'PRIORITY_DIR'}
8459 0 13237 defined $fam ? :
8483 167 6 if (not ref $_[0]) { }
4 2 elsif (ref $_[0] eq 'ARRAY') { }
0 2 elsif (ref $_[0] eq 'HASH') { }
8506 590 48 unless ($self->{'VALUE'}{'FileType'} and not $self->{'DOC_NUM'})
8509 451 139 unless $fileType
8511 257 289 if (defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'})
8513 10 232 if (ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0])
8515 4 6 if $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
8518 566 24 unless $mimeType
8520 20 570 unless $mimeType or $baseType eq "TIFF"
8521 580 10 unless (defined $normExt)
8523 332 248 unless defined $normExt
8539 12 6 if (defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'})
8542 5 7 unless (defined $normExt)
8544 5 0 unless defined $normExt
8547 12 0 unless $mimeType
8548 5 7 if $mimeType
8549 0 12 if ($self->{'OPTIONS'}{'Verbose'})
8552 0 0 if $mimeType
8564 0 8 unless $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
8566 8 0 if (defined $old) { }
8584 4 9152 if ($self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level)
8587 0 4 unless $_[-1] =~ /\n$/
8599 405 44 unless $self->{'OPTIONS'}{'Verbose'}
8600 0 44 if (ref $name eq "HASH")
8601 0 0 unless $size
8606 22 22 $entries || defined $entries && !$size ? :
8607 22 22 if $size
8619 0 128 if ($verbose and $verbose > 2)
8623 0 0 $verbose < 5 ? :
0 0 $verbose < 4 ? :
8651 43 4 if ($tag)
8652 29 14 if ($tag eq "PreviewImage")
8659 34 0 if (!$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag})
8665 5 8 unless ($self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length)
8668 0 5 unless $tag
8669 0 5 if ($isPreview and not $self->{'BuildingComposite'}) { }
8699 0 2070 unless ($increment)
8706 0 2070 if ($unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}) { }
192 1878 elsif ($dirInfo->{'DataMember'}) { }
38 1840 elsif ($dirInfo->{'MixedTags'}) { }
8708 0 0 $size < 65536 ? :
8714 0 0 if @ftags
8723 0 54027 $a < 0 ? :
0 54027 $b < 0 ? :
8725 19 2051 if $verbose
8727 2070 0 if $unknown < 2
8733 17209 0 if ($tagTablePtr->{$index}) { }
0 0 elsif ($topIndex and $$tagTablePtr{$index - $topIndex}) { }
8735 718 16491 unless ($tagInfo)
8736 674 44 unless defined $tagInfo
8738 0 44 if ($entry < 0)
8740 0 0 if $entry < 0
8742 40 4 if $entry >= $size
8744 0 4 if $more > 128
8747 0 4 unless $tagInfo
8750 1 261 if $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8752 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index - $topIndex)
8755 0 0 unless $unknown > 1
8756 0 0 if $index < $nextIndex
8757 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index)
8763 0 16494 if ($entry < 0)
8765 0 0 if $entry < 0
8768 259 16235 if $more <= 0
8771 9356 6879 if (not $format) { }
104 6775 elsif ($format eq 'string') { }
0 6775 elsif ($format eq 'pstring') { }
3124 3651 elsif (not $formatSize{$format}) { }
8781 2939 185 if ($format =~ /(.*)\[(.*)\]/) { }
185 0 elsif ($format =~ /^var_/) { }
8788 0 2939 if $@
8789 0 2939 if $count < 0
8793 0 2939 if ($format =~ s/^var_//)
8797 0 0 if ($dirInfo->{'VarFormatData'})
8802 0 0 if $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
8809 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) { }
8810 0 0 if $$dataPt =~ /\G(..)*?\0\0/gs
8816 0 170 if $more < 4
8818 168 2 if $format eq "ustr32"
8824 0 10 if $more < 2
8831 0 3 unless defined $val
8837 0 185 if not defined $count or $count > $more
8839 182 3 unless (defined $val)
8841 168 14 if $format eq "ustring" or $format eq "ustr32"
8842 172 10 unless $format eq "undef"
8846 5 180 if ($dirInfo->{'VarFormatData'})
8852 540 15695 if (defined $tagInfo->{'Hook'})
8858 247 293 if ($dirInfo->{'VarFormatData'}) { }
0 585 elsif ($varSize != $oldVarSize and $verbose > 2) { }
8859 0 247 if $wasVar
8863 0 0 if $tmp < 0
8867 0 16235 if ($unknown > 1)
8870 0 0 unless $wasVar
8872 0 0 unless $nextIndex > $ni
8876 0 16235 if $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
8878 16050 185 unless (defined $val and not $tagInfo->{'SubDirectory'})
8880 0 16050 unless defined $val
8882 391 15659 if $mask
8884 198 16037 if ($verbose and not $tagInfo->{'Hidden'})
8885 198 0 if (not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}) { }
8887 0 198 if $len > $more
8891 0 198 $mask ? :
8904 14 16221 if ($tagInfo->{'SubDirectory'})
8908 12 2 if ($tagInfo->{'Format'} and $formatSize{$format}) { }
8910 0 12 if $len > $more
8913 2 0 if ($subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData)
8921 0 14 if (defined $subdir->{'Base'})
8937 14 0 if $unknown < 2
8940 38 16183 if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3)
8943 19 19 if eval $tagInfo->{'IsOffset'}
8947 0 16221 if ($tagInfo->{'SetBase'})
8952 0 16221 if defined $oldBase
8953 14878 1343 if ($key) { }
8954 40 14838 if defined $rational
8957 0 1343 if defined $saveNextIndex