Branch Coverage

blib/lib/Image/ExifTool.pm
Criterion Covered Total %
branch 1765 2842 62.1


line true false branch
1996 223 0 unless (defined $str)
1997 0 223 unless defined $Image::ExifTool::evalWarning
2000 205 18 if $str =~ /(.*) at /s
2057 497 9 if (ref $_[0] and UNIVERSAL::isa($_[0], 'Image::ExifTool')) { }
2092 372 20023 unless (exists $options->{$param})
2094 0 372 if ($fixed) { }
2101 0 58 if (ref $oldVal eq "HASH" and $param eq 'Compact' || $param eq 'XMPShorthand')
2105 15615 4780 unless @_
2107 76 4704 if ($param eq 'Lang') { }
7 4697 elsif ($param eq 'Exclude' and defined $newVal) { }
358 4339 elsif ($param =~ /^Charset/ or $param eq 'IPTCCharset') { }
58 4281 elsif ($param eq 'UserParam') { }
100 4181 elsif ($param eq 'RequestTags') { }
10 4171 elsif ($param eq 'ListJoin') { }
77 4094 elsif ($param eq 'List') { }
1 4093 elsif ($param eq 'Compact' or $param eq 'XMPShorthand') { }
2109 0 76 unless defined $newVal
2110 58 18 if ($newVal eq $Image::ExifTool::defaultLang) { }
2116 18 0 if ($langs{$newVal} and eval "require Image::ExifTool::Lang::$newVal")
2119 18 0 if (%$xlat)
2128 6 1 if (ref $newVal eq 'ARRAY') { }
2137 241 117 if ($newVal) { }
117 0 elsif ($param eq 'CharsetEXIF' or $param eq 'CharsetFileName' or $param eq 'CharsetRIFF') { }
0 0 elsif ($param eq 'CharsetQuickTime') { }
2139 241 0 if ($charset) { }
2142 1 240 if $param eq "IPTCCharset"
2155 0 58 unless defined $newVal
2158 58 0 if (ref $newVal eq "HASH")
2171 0 0 if ($newVal =~ /(.*?)=(.*)/s) { }
2174 0 0 if $paramName =~ s/\^$//
2183 0 0 if (defined $newVal)
2184 0 0 if (length $newVal or $force) { }
2192 0 0 unless $param =~ s/#$//
2196 42 58 if (defined $newVal) { }
2198 42 0 ref $newVal eq 'ARRAY' ? :
2201 42 0 unless $options->{$param}
2203 0 56 unless /^(.*:)?([-\w?*]*)#?$/
2204 56 0 if $2
2205 56 0 unless $1
2215 4 6 if (defined $newVal) { }
2225 77 0 $newVal ? :
2230 1 1 $param eq $p ? :
2231 1 1 if (defined $val)
2233 0 1 $p eq 'Compact' ? :
2235 0 1 unless my $set = $$opt{lc $_}
2236 1 0 unless ref $set
2244 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') { }
2246 0 64 if (defined $newVal and $newVal eq 'XML') { }
5 59 elsif (defined $newVal and $newVal eq 'HTML') { }
2264 1 58 if $newVal
2367 0 471 if (%Image::ExifTool::UserDefined::Options)
2392 2 511 if (ref $_[1] eq 'HASH' and $_[1]{'ReEntry'} and ref $_[0] eq 'SCALAR' || ref $_[0] eq 'GLOB') { }
2409 1 505 if (defined $_[0] or $options->{'HtmlDump'} or $req->{'validate'})
2413 0 6 if $options->{'HtmlDump'}
2415 1 5 if $req->{'validate'}
2417 5 1 if (defined $_[0])
2433 58 453 if $req->{'now'} or $reqAll
2434 58 453 if $req->{'newguid'} or $reqAll
2436 58 453 if $req->{'filesequence'} or $reqAll
2438 58 453 if ($req->{'processingtime'} or $reqAll)
2440 0 0 if (not @startTime and $req->{'processingtime'})
2454 469 44 unless ($raf)
2456 469 0 if (defined $filename and $filename ne '') { }
2457 469 0 unless ($filename eq "-")
2459 0 469 if $realname =~ /\|$/
2462 58 411 if ($req->{'basename'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'basename'})
2465 58 0 $name =~ /(.*)\./ ? :
2467 469 0 if defined $dir and length $dir
2468 58 411 if ($req->{'filepath'} or $reqAll and not $self->{'EXCL_TAG_LOOKUP'}{'filepath'})
2472 58 0 if (eval { do { require Cwd } }) { }
0 0 elsif ($req->{'filepath'}) { }
2474 58 0 if defined $path
2480 0 469 if $^O eq "darwin" and not $self->{'IN_RESOURCE'}
2482 0 469 if ($^O eq "MSWin32" and eval { do { require Win32API::File } })
2485 0 0 if ($self->EncodeFileName($zfile)) { }
2490 0 0 unless $wattr == Win32API::File::INVALID_FILE_ATTRIBUTES()
2494 469 0 if ($self->Open(\*EXIFTOOL_FILE, $filename)) { }
0 0 elsif ($self->IsDirectory($filename)) { }
2499 0 469 if $filename eq "-" or $filename =~ /\|$/
2513 2 511 if ($reEntry) { }
0 511 elsif (not $raf) { }
22 489 elsif (not $raf->{'FILE_PT'}) { }
489 0 elsif (-f $raf->{'FILE_PT'}) { }
2525 0 489 if $^O eq "MSWin32"
2532 489 24 if defined $stat[7]
2533 0 513 if $rsize
2534 0 513 if $zid
2535 489 24 if defined $stat[9]
2536 489 24 if defined $stat[8]
2537 0 513 $^O eq 'MSWin32' ? :
2538 489 24 if defined $stat[10]
2539 489 24 if defined $stat[2]
2541 489 24 if (@stat)
2543 58 431 if ($sys or $req->{'fileattributes'})
2546 0 0 if ($^O eq "MSWin32" and defined $filename and $filename ne "" and $filename ne "-")
2548 0 0 if (eval { do { require Win32API::File } })
2551 0 0 if ($self->EncodeFileName($file)) { }
2556 0 0 if defined $wattr and $wattr != 4294967295
2561 58 431 if $sys or $req->{'filedevicenumber'}
2562 58 431 if $sys or $req->{'fileinodenumber'}
2563 58 431 if $sys or $req->{'filehardlinks'}
2564 58 431 if $sys or $req->{'fileuserid'}
2565 58 431 if $sys or $req->{'filegroupid'}
2566 58 431 if $sys or $req->{'filedeviceid'}
2567 58 431 if $sys or $req->{'fileblocksize'}
2568 58 431 if $sys or $req->{'fileblockcount'}
2571 0 0 if ($^O eq "darwin" and defined $filename and $filename ne "" and defined $fileSize)
2576 0 0 if ($crDate or $mdItem or $xattr)
2578 0 0 if $crDate
2579 0 0 if $mdItem and $plainFile
2580 0 0 if $xattr
2584 0 513 if ($isDir or defined $stat[2] and ($stat[2] & 61440) == 16384)
2587 0 0 if $options->{'Composite'}
2588 0 0 if $raf
2596 0 289 if defined $ext and not defined $Image::ExifTool::magicNumber{$ext} and defined $moduleName{$ext} and not $moduleName{$ext}
2598 0 513 if ($fast >= 4)
2599 0 0 if (@fileTypeList) { }
2605 0 0 if $fast == 4 and $options->{'Composite'}
2608 466 47 if (@fileTypeList) { }
2613 465 1 unless ($fast == 3)
2630 0 513 unless $raf->Read($buff, $Image::ExifTool::testLen)
2631 0 513 unless $raf->Seek($pos, 0)
2635 1900 0 if ($type) { }
0 0 elsif (not defined $type) { }
0 0 elsif ($recognizedExt) { }
2636 1864 36 if ($Image::ExifTool::magicNumber{$type}) { }
2638 1347 2 unless $buff =~ /^$Image::ExifTool::magicNumber{$type}/s or $noMagic{$type}
2641 0 36 if defined $moduleName{$type} and not $moduleName{$type}
2642 0 36 if $fast > 2
2644 0 553 if $weakMagic{$type} and defined $recognizedExt
2651 0 0 unless $buff =~ /(\xff\xd8\xff|MM\0\x2a|II\x2a\0)/g
2652 0 0 $1 eq "\377\330\377" ? :
2655 0 0 unless $raf->Seek($pos + $skip, 0)
2657 0 0 unless $self->{'DOC_NUM'}
2661 25 528 $type eq 'TIFF' ? :
2663 0 553 if ($fast == 3 and not $processType{$type})
2664 0 0 unless ($weakMagic{$type} and !$ext || $ext ne $type)
2670 177 376 unless defined $module
2674 301 252 if ($module) { }
0 252 elsif ($module eq '0') { }
2691 513 40 if ($result)
2692 0 513 if ($unkHeader)
2701 0 40 unless $raf->Seek($pos, 0)
2703 0 0 unless (defined $type or $self->{'DOC_NUM'})
2709 0 0 if (not length $buff) { }
2713 0 0 if (length $buff < 16 or $buff =~ /[^\Q$ch\E]/) { }
2714 0 0 if ($fileType eq 'RAW') { }
0 0 elsif ($fileType) { }
2723 0 0 if ($self->{'OPTIONS'}{'FastScan'}) { }
2728 0 0 unless $raf->Read($buff, 65536)
2729 0 0 if $buff =~ /[^\Q$ch\E]/g
2732 0 0 if ($num) { }
2738 0 0 if ($ch eq "\000") { }
0 0 elsif ($ch eq ' ') { }
0 0 elsif ($ch =~ /[a-zA-Z0-9]/) { }
2751 0 513 if ($seekErr) { }
0 1026 elsif ($self->Options('ScanForXMP') and not defined $type && ($fast || $self->{'FoundXMP'})) { }
2759 0 0 if &Image::ExifTool::XMP::ScanForXMP($self, $raf)
2762 36 199 if (defined $self->{'EXIF_DATA'} and length $self->{'EXIF_DATA'} > 16 and $req->{'exif'} || $self->{'TAGS_FROM_FILE'} && !$self->{'EXCL_TAG_LOOKUP'}{'exif'})
2769 511 2 unless ($reEntry)
2772 502 9 if $options->{'Composite'}
2774 0 511 if ($self->{'HTML_DUMP'})
2778 0 0 unless defined $pos
2779 0 0 defined $self->{'EXIF_DATA'} ? :
2780 0 0 if defined $self->{'EXIF_POS'} and $pos != $self->{'EXIF_POS'}
2781 0 0 if $self->{'ExtendedEXIF'}
2784 0 0 $self->{'FILENAME'} ? :
2785 0 0 if $success < 0
2788 471 42 if ($filename)
2791 0 0 if ($rsize and $options->{'ExtractEmbedded'})
2793 0 0 if ($self->Open(\*RESOURCE_FILE, "$filename/..namedfork/rsrc")) { }
2808 1 512 if ($options->{'Validate'} and not $reEntry)
2812 58 455 if @startTime
2815 0 513 if (%{$options->{'UserParam'};})
2819 0 0 unless /#$/
2820 0 0 if ($doMsg)
2829 6 507 if %saveOptions
2831 2 511 if ($reEntry)
2838 0 513 if not defined $type or exists $self->{'VALUE'}{'Error'}
2857 177 506 unless (@_ and not defined $_[0])
2860 116 61 unless defined $self->{'FILENAME'}
2869 638 45 $self->{'OPTIONS'}{'PrintConv'} ? :
2872 945 34057 unless defined $val
2877 4 679 if (@$byValue)
2886 9 16 unless defined $val
2890 16 0 unless (defined $self->{'VALUE'}{$vtag})
2896 14 2 unless $nonVal{$tag}
2905 401 282 if (%ignored)
2906 188 213 if (not @$reqTags) { }
41 172 elsif (@$wildTags) { }
2909 21926 508 unless $ignored{$_}
2917 197 159 if (@$wildTags and $i == $wildTags->[0]) { }
2919 197 0 unless $ignored{$_}
2930 4 679 if ($self->{'IO_TAG_LIST'})
2934 2 0 unless @$reqTags or $sort and $sort ne "Input"
2940 177 506 if %saveOptions
2957 420 5 if (ref $info eq 'HASH') { }
5 0 elsif (ref $info eq 'ARRAY') { }
2965 425 0 if ($foundTags) { }
2969 23843 0 if defined $fileOrder->{$_}
2973 0 0 if $info and not $sort
2974 0 0 unless $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
2976 16 409 unless $sort
2979 18 407 unless $sort and $sort ne "Input"
2981 0 407 if ($sort eq 'Tag' or $sort eq 'Alpha') { }
405 2 elsif ($sort =~ /^Group(\d*(:\d+)*)/) { }
0 2 elsif ($sort eq 'Descr') { }
2993 1467 21667 unless $num
2996 405 0 unless $sort2
2997 405 0 if ($sort2)
2998 0 405 if ($sort2 eq 'Tag' or $sort2 eq 'Alpha') { }
0 405 elsif ($sort2 eq 'Descr') { }
2999 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3003 0 0 unless $groupOrder{$a} <=> $groupOrder{$b}
3007 0 35006 unless $groupOrder{$a} <=> $groupOrder{$b}
3026 0 1 unless my $foundTags = $self->{'FOUND_TAGS'} || $self->SetFoundTags
3058 0 52529 if ($tag =~ /^(.*):(.+)/)
3064 0 0 if defined $rawValue->{$key}
3065 0 0 if $i <= 0
3068 0 0 if (@keys)
3070 0 0 if $key
3074 52514 15 if ($type) { }
3075 0 52514 if $type eq "Rational"
3077 15 0 $self->{'OPTIONS'}{'PrintConv'} ? :
3082 9972 42557 if (not defined $value) { }
3083 9778 194 unless ref $tag
3089 194 0 if ($type ne "Raw")
3091 170 24 unless $type eq "ValueConv"
3095 53 42504 if ($tagInfo->{'Struct'} and ref $value)
3101 48 5 unless ($type eq "Both")
3110 42504 0 if ($type ne "Raw")
3113 6331 36173 if ($both) { }
3114 2136 4195 if ($type eq 'PrintConv') { }
94 4101 elsif ($type eq 'ValueConv') { }
3118 37 57 unless defined $value
3124 34533 1640 unless $type eq "ValueConv"
3133 646 69332 if ref $value eq "SCALAR" and not $tagInfo->{'ConvertBinary'}
3135 45369 23963 unless (defined $conv)
3136 28823 16546 if ($convType eq 'ValueConv') { }
3137 28423 400 unless $tagInfo->{'Binary'}
3141 16345 201 unless defined($conv = $tagInfo->{'Table'}{'PRINT_CONV'})
3142 49 152 if exists $tagInfo->{$convType}
3146 2026 22489 if $type eq "Both" and $convType eq "PrintConv"
3149 124 24391 if (ref $conv eq "ARRAY")
3152 0 124 ref $value eq 'ARRAY' ? :
3156 7 117 if ($relist) { }
3160 7 7 if (ref $oldIndex) { }
3162 16 0 if defined $valList[$_]
3164 7 0 if @join
3168 12 2 if defined $newVal
3174 0 124 unless @$value
3177 155 24360 if (ref $value eq 'ARRAY') { }
3178 7 148 if (defined $tagInfo->{'RawJoin'}) { }
3190 24709 19 if (defined $conv) { }
3192 2861 21848 if (ref $val eq "HASH" and not @val)
3200 0 16778 unless defined $val->{$_}
3203 16400 378 if defined $val[$_] or not $tagInfo->{'Require'}{$_}
3204 0 378 if defined $oldFilter
3208 7 2476 if defined $oldFilter
3211 0 2483 ref $conv eq 'CODE' ? :
3213 7542 16789 if (ref $conv eq 'HASH') { }
3215 435 7107 unless (defined($value = $conv->{$val}))
3216 121 314 if ($conv->{'BITMASK'}) { }
3220 243 71 if ($conv->{'OTHER'})
3224 0 243 if $Image::ExifTool::evalWarning
3226 71 243 unless (defined $value)
3227 0 71 if ($tagInfo->{'PrintHex'} and $val and &IsInt($val) and $convType eq 'PrintConv') { }
3239 244 45 if ($self->{'CUR_LANG'} and $convType eq "PrintConv" and ref($tmp = $self->{'CUR_LANG'}{$tagInfo->{'Name'}}) eq "HASH" and $tmp = $tmp->{'PrintConv'})
3244 0 244 if ($conv->{'BITMASK'} and not defined $conv->{$val}) { }
200 44 elsif (defined($tmp = $tmp->{$value})) { }
3247 0 0 if defined $tmp->{$_}
3258 829 15960 if (ref $conv eq 'CODE') { }
3263 0 15960 if $@
3265 0 16789 if $Image::ExifTool::evalWarning
3270 23989 361 unless $vals
3272 3 358 if (ref $value eq "SCALAR")
3277 361 0 if defined $value
3278 148 213 if (++$i >= scalar @$vals)
3279 148 0 if @values
3283 132 81 if ($convList)
3285 0 132 if ($nextConv and $nextConv eq 'REPEAT') { }
3293 558 23579 unless defined $value
3295 124 23455 if ($convList and ref $value eq "ARRAY")
3296 116 8 $convType eq 'PrintConv' ? :
3299 7364 34398 if ($type eq "Both")
3302 3263 4101 unless $both
3304 0 7364 if ($self->{'ESCAPE_PROC'}) { }
3718 3646 elsif (not defined $valueConv) { }
3306 0 0 if (defined $valueConv) { }
3320 163 34235 if $self->{'ESCAPE_PROC'}
3323 442 33956 if $self->{'OPTIONS'}{'Filter'} and $type eq "PrintConv"
3325 289 34109 if (ref $value eq "ARRAY")
3326 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]) { }
3349 2 23145 unless $tagInfo and defined $tagInfo->{'TagID'}
3351 0 23145 if wantarray
3367 23147 0 if ($tagInfo)
3371 671 129 if ($desc) { }
3373 245 426 if ref $desc
3378 0 1 unless $tagInfo->{'LangCode'} and ($name = $tagInfo->{'Name'}) =~ s/-$tagInfo->{'LangCode'}$// and $desc = $self->{'CUR_LANG'}{$name}
3379 0 1 if ref $desc
3383 0 663 if $self->{'ESCAPE_PROC'}
3390 9371 13113 unless ($desc)
3393 9371 0 if $tagInfo
3413 119867 69638 if (ref $tag eq 'HASH') { }
3425 35451 154054 unless ($tagInfo->{'GotGroups'})
3428 30240 5211 unless $groups
3431 99080 7273 unless $groups->{$_}
3436 98337 91168 if (defined $family and $family ne '-1') { }
3437 2736 95601 if ($family =~ /[^\d]/) { }
3439 0 2736 unless @families
3440 2736 0 unless $family =~ /^:/
3443 0 2736 if @families == 1 and $families[0] != 7
3445 67224 28377 if $family == 0 or $family == 2
3449 381 90787 unless wantarray
3453 4701 117199 $tag =~ /\((\d+)\)$/ ? :
3455 44208 77692 unless ($byTagInfo)
3456 17218 26990 if ($ex)
3457 312 16906 if $ex->{'G0'}
3458 384 15811 $ex->{'G1'} =~ /^\+(.*)/ ? :
16195 1023 if $ex->{'G1'}
3459 1304 15914 if $ex->{'G3'}
3460 255 16963 if defined $ex->{'G5'}
3461 0 17218 if (defined $ex->{'G6'})
3462 0 0 unless defined $groups[5]
3467 44208 0 unless ($noID)
3469 2 44206 if (not defined $id) { }
27872 16334 elsif ($id =~ /^\d+$/) { }
3472 0 27872 if $self->{'OPTIONS'}{'HexTagIDs'}
3480 43522 78378 if ($family)
3481 28377 15145 if $family > 0
3485 31 15114 if ($groups[1] =~ /^MIE(\d*)-(.+?)(\d*)$/)
3487 0 31 $1 ? :
3488 0 31 $3 ? :
3489 0 31 $1 ? :
0 31 $3 ? :
3492 2736 90787 if (@families)
3497 0 5472 unless ($grp)
3498 0 0 if $simplify
3501 5456 16 unless $simplify and @grps and $grp eq $grps[-1]
3504 0 2736 if $simplify and @grps > 1 and $grps[0] eq "Main"
3525 2 1 if (ref $info ne 'HASH') { }
3531 0 3 unless defined $family
3550 0 471 unless @groups
3586 39776 3012 unless $Image::ExifTool::specialTags{$_}
3590 3012 39776 if $Image::ExifTool::specialTags{$tag}
3592 249 39527 unless $tagInfo
3606 8808 85396 unless ($reqTag)
3608 0 8808 if $index == 0
3611 285 85111 if ($subDoc) { }
26525 58586 elsif ($reqTag =~ /^(.*):(.+)/) { }
4883 107406 elsif ($notBuilt{$reqTag} and not $inhibit->{$index}) { }
3616 0 285 $reqTag =~ s/\b(Main|Doc(\d+)):// ? :
3620 285 0 unless ($cacheTag)
3623 285 0 if $reqTag =~ s/^(.*)://
3627 0 285 if defined $rawValue->{$key}
3628 285 0 if $i <= 0
3631 285 0 if defined $reqGroup
3632 0 285 if (@keys)
3636 0 0 $ex->{$_} ? :
3643 2076 655 if ($reqGroup eq "Composite" and $notBuilt{$name})
3646 1640 436 unless ($inhibit->{$index} and $allBuilt)
3654 3572 21952 if defined $rawValue->{$key}
3655 24885 639 if $i <= 0
3667 15739 63134 if (defined $rawValue->{$reqTag}) { }
24130 39004 elsif ($require->{$index}) { }
3668 66 15673 if ($inhibit->{$index}) { }
3680 0 33004 if ($docNum) { }
5119 27885 elsif ($found) { }
3689 24196 elsif (not defined $found) { }
3681 0 0 if ($found)
3685 0 0 unless $compKeys->{$_}
3691 0 0 if ++$docNum <= $self->{'DOC_COUNT'}
3700 18179 4536 unless $compositeID{$tagKey{$_}}
3704 6134 16581 unless $compKeys->{$_}
3712 32809 195 unless $subDoc
3715 165 30 if (%$require) { }
3719 165 0 unless defined $rawValue->{$reqTag}
3723 30 0 ref $tagInfo->{'SubDoc'} ? :
3726 0 60 unless my $desTag = $desire->{$_}
3728 0 60 if defined $rawValue->{$desTag}
3730 30 0 unless $docNum
3734 502 1693 unless @deferredTags
3735 436 1257 if (@deferredTags == @tagList)
3736 0 436 if ($allBuilt)
3756 0 11 unless $compositeID{$tag}
3794 0 943 unless (defined $file)
3796 0 0 if (defined $desc and $desc eq '0') { }
3803 0 0 unless defined $module
3804 0 0 unless defined $module and $module eq 0
3811 66 877 unless ($fileExt)
3812 0 66 if ($file =~ s/ \((.*)\)$//)
3816 66 0 unless $fileExt
3818 901 42 if $fileExt
3822 0 943 if ($desc) { }
894 49 elsif ($fileType and !defined($desc) || $desc ne '0') { }
3823 0 0 if ($fileType) { }
3824 0 0 if ($Image::ExifTool::static_vars{'OverrideFileDescription'} and $Image::ExifTool::static_vars{'OverrideFileDescription'}{$fileExt}) { }
3832 0 0 if $subType
3837 0 894 if defined $mod and $mod eq 0
3839 49 894 unless $fileType
3841 668 226 if (wantarray) { }
226 0 elsif ($fileType) { }
3842 4 664 if ref $fileType eq "ARRAY"
3844 0 226 if ref $fileType eq "ARRAY"
3856 0 0 unless my $file = shift()
3857 0 0 unless my($type) = &GetFileType($file)
3858 0 0 if ($Image::ExifTool::noWriteFile{$type})
3861 0 0 grep(/^$ext$/, @{$Image::ExifTool::noWriteFile{$type};}) ? :
0 0 if $ext
3863 0 0 unless (%writeTypes)
3876 0 23 unless my $file = shift()
3878 0 23 unless my $type = &GetFileType($file)
3879 23 0 if $createTypes{$ext} or $createTypes{$type}
3894 3155 19797 if /[a-z]/
3935 0 763 if ($self->Options("HtmlDump"))
3940 0 763 unless ref $self->{'OPTIONS'}{'TextOut'}
3954 0 2 if ($self->{'OPTIONS'}{'Duplicates'}) { }
3964 14 252 if $haveInfo{$tagName}
3980 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
3991 0 0 unless my $tagInfo = $self->{'TAG_INFO'}{$tag}
4005 72 72 $i ? :
4006 2 142 unless defined $value->{$key}
4007 70 72 if ($et->GetGroup($key, 1) eq $grp)
4024 0 18 $tag =~ s/ \((\d+)\)$// ? :
4026 0 18 if defined $self->{'VALUE'}{$tag}
4038 469 0 if (eval { do { require File::Basename } }) { }
4044 0 0 length $1 ? :
0 0 if $name =~ s[(.*)/][]
4058 0 1123 if ($enc) { }
0 1123 elsif ($^O eq 'MSWin32' and $file =~ /[\x80-\xff]/ and not defined $enc) { }
4059 0 0 if ($file =~ /[\x80-\xff]/ or $force)
4061 0 0 if ($^O eq 'MSWin32') { }
4063 0 0 if (eval { do { require Win32API::File } })
4071 0 0 unless $enc eq "UTF8"
4076 0 0 if (&Image::ExifTool::XMP::IsUTF8(\$file) < 0)
4096 0 681 $file =~ /\|$/ && $self->{'TRUST_PIPE'} ? :
681 217 unless $mode
4098 898 0 if ($mode)
4099 0 898 if ($self->EncodeFileName($file)) { }
4103 0 0 if ($mode eq '>') { }
4111 0 0 if $mode eq "+<"
4117 0 0 unless ($access & Win32API::File::GENERIC_WRITE())
4122 0 0 unless $wh
4124 0 0 if (not defined $fd or $fd < 0)
4146 0 218 if ($self->EncodeFileName($file)) { }
4152 0 0 unless $wh
4169 0 1 if ($et->EncodeFileName($file)) { }
4173 0 0 if $attrs and $attrs != 4294967295 and $attrs & $dirBit
4190 0 0 unless (ref $file)
4192 0 0 unless ($self->Open(\*FH, $file))
4193 0 0 if ($self->IsDirectory($file))
4195 0 0 if defined $rtn[0]
4203 0 0 if ($^O eq "MSWin32")
4204 0 0 if (not eval { do { require Win32::API } }) { }
0 0 elsif (not eval { do { require Win32API::File } }) { }
4211 0 0 unless ($win32Handle)
4218 0 0 unless ($k32GetFileTime)
4219 0 0 if defined $k32GetFileTime
4221 0 0 unless ($k32GetFileTime)
4227 0 0 unless ($k32GetFileTime->Call($win32Handle, $ctime, $atime, $mtime))
4265 153 1333 if (ref $arg and not overload::Method($arg, '""')) { }
864 469 elsif (defined $self->{'FILENAME'}) { }
4266 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')) { }
4269 2 10 if (/^-(.*)/) { }
4279 0 171 if (@oldGroupOpts and $opt =~ /^Group/)
4286 0 171 if $opt eq "Exclude"
4289 0 23 if defined $self->{'RAF'}
4292 0 22 if (ref $arg eq "SCALAR" and $] >= "5.006" and eval { do { require Encode; &Encode::is_utf8($$arg) } } || $@)
4296 0 0 $] < 5.01 ? :
0 0 $@ ? :
4310 54 810 if ($arg =~ /^-(.*)/) { }
4320 42 646 if ($options->{'RequestTags'})
4324 353 335 if (@{$self->{'REQUESTED_TAGS'};})
4328 0 863 unless /^(.*:)?([-\w?*]*)#?$/
4329 863 0 if $2
4330 629 234 unless $1
4334 41 647 if (@exclude or $wasExcludeOpt)
4336 1 40 if $options->{'Exclude'}
4342 47 641 if ($options->{'Exclude'})
4344 63 1 if /([-\w]+)#?$/
4345 0 64 if (/(xmp-.*:[-\w]+)#?/i)
4346 0 0 unless $self->{'EXCL_XMP_LOOKUP'}
4351 6 41 if $self->{'TAGS_FROM_FILE'}
4362 1 1 if $grp eq $id
4363 0 1 if ($id =~ /^\d+$/) { }
4364 0 0 if $grp =~ s/^0x0*// and $grp eq sprintf("%x", $id)
4366 0 1 if $id =~ s/([^-_A-Za-z0-9])/sprintf "%.2x", ord $1;/eg and $grp eq $id
4380 0 25437 unless ref $tagList
4386 26006 0 if ($grps[$g] =~ s/^(\d*)(id-)?//i)
4387 2 26004 if length $1
4388 0 26006 if ($2)
4394 0 26006 if $grps[$g] eq "copy0"
4400 0 15610 if $grp eq "*" or $grp eq "all"
4402 3 15607 if (defined($f = $fmys[$g])) { }
4403 0 3 unless defined $groups[$f]
4404 0 3 if ($f == 7) { }
4405 0 0 if &IsSameID(scalar $self->GetTagID($tag), $grp)
4407 2 1 if $grp eq lc $groups[$f]
4411 10776 4831 unless grep /^$grp$/i, @groups
4414 4368 10777 if ($g == @grps)
4415 1961 2407 unless wantarray
4419 552 22924 wantarray ? :
4433 6 63 if (@$list1 or @$list2) { }
4437 154 79 if ($exclude->{$tag} xor $inv) { }
4439 1 8 $_ == $i ? :
3 9 $_ < $i ? :
4440 154 1108 $_ == $i ? :
6983 1262 $_ < $i ? :
4447 3144 3721 unless $exclude->{$_} xor $inv
4473 353 330 if (@$reqTags) { }
4474 353 0 unless $rtnTags
4480 234 629 if ($reqTag =~ /^(.*):(.+)/) { }
4482 0 234 if ($group =~ /^(\*|all)$/i) { }
0 234 elsif (not $group =~ /^[-\w:]*$/) { }
4491 15 0 if $tag =~ s/#$// and $options->{'PrintConv'}
4492 0 863 if (defined $tagHash->{$reqTag} and not $doDups) { }
138 725 elsif ($tag =~ /^(\*|all)$/i) { }
3 722 elsif ($tag =~ /[*?]/) { }
722 0 elsif ($doDups or defined $group) { }
0 0 elsif ($tag =~ /^[-\w]+$/) { }
4496 137 1 if ($doDups or $allGrp) { }
4501 0 138 unless @matches
4507 3 0 if $doDups or $allGrp
4509 0 3 unless @matches
4519 0 0 unless defined $matches[0]
4523 234 629 if (defined $group and not $allGrp)
4526 15 219 unless @matches or not $allTag
4528 143 705 if (@matches > 1) { }
437 268 elsif (not @matches) { }
4532 0 1 unless ($doDups or $allTag or $allGrp)
4537 0 0 unless defined $priority
4538 0 0 unless $priority >= $oldPriority
4546 9 428 $byValue ? :
4551 15 833 if $byValue
4553 126 722 if $allTag
4559 330 0 if ($doDups) { }
4570 41 27 if ($exclude)
4574 30 27 if ($pat =~ /^(.*):(.+)/) { }
4576 0 30 if ($group =~ /^(\*|all)$/i) { }
0 30 elsif (not $group =~ /^[-\w:]*$/) { }
4586 30 27 if ($tag =~ /^(\*|all)$/i) { }
4594 30 27 if $group and @matches
4597 41 0 if (%exclude)
4600 0 41 unless @$rtnTags
4602 40 1 if $duplicates and not @groupOptions
4610 0 29 unless $groupOpt =~ /^Group(\d*(:\d+)*)/
4612 29 0 unless $wantGroup{$family}
4614 4 25 if (ref $options->{$groupOpt} eq 'ARRAY') { }
4623 2 31 if (/^-(.*)/) { }
4642 3438 1153 unless defined $wanted
4643 177 976 unless $wanted
4645 0 976 if $wantTag and $wantTag < $wanted
4648 3281 1047 unless $wantTag
4649 382 665 if $duplicates
4653 28 637 if (defined $bestTag)
4654 16 12 if $wantTag > $keepTags{$bestTag}
4655 0 12 if ($wantTag == $keepTags{$bestTag})
4657 0 0 if ($tag =~ / \((\d+)\)$/)
4659 0 0 if not $bestTag =~ / \((\d+)\)$/ or $1 > $tagNum
4675 683 0 wantarray ? :
4688 471 242 if $callInfo[$#callInfo] eq "DESTROY"
4689 184 58 if (@callInfo == 4) { }
1 57 elsif ($callInfo[-1] eq 'ShiftTime') { }
4699 0 242 unless eval { do { require $file } }
4700 0 242 unless (defined &$autoload)
4726 32 55 if ($ignorable)
4727 1 31 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4728 0 1 if $ignorable eq 3 and $self->{'OPTIONS'}{'Validate'}
4729 2 29 $ignorable eq '2' ? :
4742 0 16 if $ignorable and $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4743 41 7 unless ($self->{'WARNED_ONCE'}{$str})
4757 0 1 if ($self->{'DemoteErrors'}) { }
1 0 elsif ($ignorable) { }
4758 0 0 if $self->Warn($str)
4761 1 0 if $self->{'OPTIONS'}{'IgnoreMinorErrors'}
4776 0 501 unless $tagList and @$tagList
4781 54 447 $removeSuffix ? :
4786 1 1018 if (ref $entry)
4794 23 995 if (not $excl and $tag =~ /(.+?)([-+]?[<>].+)/s) { }
4796 18 5 if ($post =~ /^[-+]?>/ or not $post =~ /\$/)
4799 4 14 unless defined $p2
4800 0 18 $t2 =~ s/#$// ? :
4802 0 18 if ($match)
4804 0 0 if /^-/
4805 0 0 if ($p2 and /(.+:)(.+)/) { }
4811 0 0 unless @post
4819 298 720 if ($tag =~ /(.+:)(.+)/) { }
4824 4 1014 $tag =~ s/#$// ? :
4829 17 1001 if ($match) { }
4830 0 17 if ($excl) { }
1 16 elsif (length $pre or length $post or $v) { }
4833 0 0 if /^-/
4835 0 0 if ($pre and /(.+:)(.+)/) { }
4844 0 12 if ($2) { }
4857 1018 0 unless @post
4873 0 585 if (ref $add) { }
4887 489 96 if ($defaultGroups) { }
4888 488 1 unless $defaultGroups->{'0'}
4889 485 4 unless $defaultGroups->{'1'}
4890 0 489 unless $defaultGroups->{'2'}
4896 588 5063 if $Image::ExifTool::specialTags{$tagID}
4899 1000 4063 if $tagInfo->{'Writable'}
4900 0 5063 if $override and not defined $tagInfo->{'Override'}
4903 336 4727 if ($compositeID{$tagID})
4907 0 336 if $over < 0
4908 0 336 if ($over)
4918 0 0 if $n++
4922 5063 0 unless $tagID eq $new
4925 4727 336 unless $compositeID{$tagID}
4931 8660 6529 unless my $req = $tagInfo->{$type}
4932 5586 943 ref $req eq 'HASH' ? :
4934 943 4120 if (@scalars)
4953 2226 2837 unless $groups
4956 11520 3669 unless $groups->{$_}
4969 0 1 if (defined &Image::ExifTool::TagLookup::AddTags) { }
1 0 elsif (not $Image::ExifTool::pluginTags{$tagHash}) { }
4987 2339 2295 if (ref $flags eq 'ARRAY') { }
0 2295 elsif (ref $flags eq 'HASH') { }
5018 33519 188064 unless $tagInfo->{'Name'}
5019 4577 217006 if $tagInfo->{'Flags'}
5020 8525 213058 if defined $avoid
5022 3024 218559 if ($tagInfo->{'Mask'} and not defined $tagInfo->{'BitShift'})
5028 197818 3634 unless @infoArray > 1
5042 5556 2181 if $_[0] =~ /^[+-]?(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/
5044 2181 0 unless $_[0] =~ /^[+-]?(?=\d|,\d)\d*(,\d*)?([Ee]([+-]?\d+))?$/
5067 6457 3878 unless defined $_
5069 3877 1 /((?:[+-]?)(?=\d|\.\d)\d*(?:\.\d*)?(?:[Ee](?:[+-]?\d+))?)/ ? :
5094 1154 204 unless $Image::ExifTool::swapBytes
5103 1298 0 unless $Image::ExifTool::swapWords and length $_[0] == 8
5115 150329 4365 if $_[2]
5122 12 0 if $_[2]
5131 7713 24170 if $_[2]
5138 0 0 if $_[2]
5150 5396 21766 if ($Image::ExifTool::swapBytes) { }
5156 0 27162 unless defined $val
5167 0 1236 unless defined $val
5190 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16s($dataPt, $pos + 2)
5198 0 0 $ratNumer ? :
0 12 unless $ratDenom = &Get16u($dataPt, $pos + 2)
5205 0 0 $ratNumer ? :
0 654 unless $ratDenom = &Get32s($dataPt, $pos + 4)
5212 0 17 $ratNumer ? :
17 2680 unless $ratDenom = &Get32u($dataPt, $pos + 4)
5219 0 13 $val < 0 ? :
5231 1210 544 $val > 0 ? :
5258 7816 7252 if ($order eq 'MM') { }
7061 191 elsif ($order eq 'II') { }
15 176 elsif ($order =~ /^Big/i) { }
11 165 elsif ($order =~ /^Little/i) { }
5273 0 14903 if ($val == 16672) { }
14903 0 elsif ($val == 8257) { }
5299 4 35 &GetByteOrder() eq 'II' ? :
5384 0 35324 unless ($len)
5388 0 35324 unless defined $size
5389 1358 33966 unless ($count)
5390 29 1329 if defined $count or $size < $len
5394 3 35292 if ($len * $count > $size)
5396 3 0 if $count < 1
5400 6150 29142 if (not $proc) { }
2988 26154 elsif ($isRational{$format} and $ratPt) { }
5404 3676 2474 if $format eq "string"
5411 2988 299 if --$count <= 0
5418 26154 22189 if --$count <= 0
5422 412 34880 if wantarray
5423 3556 31324 if @vals > 1
5440 60 6098 unless $from
5441 5916 242 unless $to
5442 1089 5069 if ($from ne $to and length $val)
5446 1089 0 if ($cs1 and $cs2 and not $cs2 & 2) { }
0 0 elsif ($self) { }
5448 776 313 if (($cs1 | $cs2) & 1664 or $val =~ /[\x80-\xff]/)
5453 0 0 $cs1 ? :
5454 0 0 unless ($$self{"DecodeWarn$set"})
5481 131 38 unless $bits
5486 5754 134 unless $val & 1 << $i
5488 19 115 if (not $lookup) { }
109 6 elsif ($lookup->{$n}) { }
5498 76 93 unless @bitList
5499 74 19 $lookup ? :
5510 0 199 if $$imagePt eq "none"
5511 113 10 unless ($$imagePt =~ /^(Binary data|\xff\xd8\xff)/ or $$imagePt =~ s/^.(\xd8\xff\xdb)/\377$1/s or $self->Options("IgnoreMinorErrors"))
5518 0 113 if ($self->{'REQ_TAG_LOOKUP'}{lc &GetTagName($tag)})
5549 0 33611 if length $name < 2
5565 9553 622 unless defined $tagID
5573 631 9544 if defined $tagID
5602 12488 463 unless defined $filter and defined $$valPt
5604 447 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') { }
5608 447 0 if (defined $_)
5637 0 593 unless defined $outStr
5641 593 0 if ($verbose < 4) { }
5642 592 1 if ($maxLen) { }
1 0 elsif (defined $maxLen) { }
5643 0 592 if $maxLen < 20
5652 0 0 if $maxLen > 2048 and $verbose < 5
5656 8 585 if length $outStr > $maxLen
5669 8 1759 if ($shift)
5670 8 0 $shift =~ s/^([-+])// && $1 eq '-' ? :
5672 1 7 unless $offset
5676 5 1762 if ($fmt)
5679 4 1 if $date =~ s/([-+]\d{2}:\d{2}|Z)$//
5685 5 0 if (@a and $a[-1] >= 1000 and $a[-1] < 3000 and eval { do { require POSIX } }) { }
0 0 elsif ($self->{'OPTIONS'}{'StrictDate'}) { }
5692 0 5 if ($fmt =~ /%\.?(\d*)f/)
5694 0 0 $date =~ /(\.\d+)/ ? :
5695 0 0 if (not $frac) { }
0 0 elsif (length $dig) { }
5696 0 0 if $dig
5698 0 0 if ($dig + 1 > length $frac) { }
0 0 elsif ($dig + 1 < length $frac) { }
5704 0 0 if ++$a[0] < 60
5706 0 0 if ++$a[1] < 60
5708 0 0 if ++$a[2] < 24
5711 0 0 if ++$a[3] <= DaysInMonth($a[4] + 1, $a[5])
5713 0 0 if ++$a[4] < 12
5723 0 5 if ($fmt =~ /%[sz]/)
5725 0 0 if not $tz and eval { do { require Time::Local } }
5727 0 0 $tz && $tz =~ /^([-+]\d{2}):(\d{2})$/ ? :
5729 0 0 if ($fmt =~ /%s/ and eval { do { require Time::Local } })
5751 3 0 if (&IsFloat($val) and $val != 0)
5752 2 1 if $mult
5753 0 3 if ($val < 60) { }
3 0 elsif ($val < 3600) { }
0 0 elsif ($val < 86400) { }
5756 2 1 $mult && $mult >= 60 ? :
5757 1 2 $val == 60 && $mult ? :
5775 0 36 if ($^O eq "MSWin32")
5794 0 918 if ($tm->[3] != $gm->[3])
5796 0 0 $tm->[3] == 1 ? :
0 0 if abs $tm->[3] - $gm->[3] != 1
5802 0 0 $min > 0 ? :
0 918 if $^O eq "mirbsd"
5814 918 41 if (ref $min)
5819 1 958 if $min < 0
5833 1 1023 if $time == 0
5835 0 1023 if ($dec) { }
5838 0 0 if $frac < 0
5841 0 0 if $dec =~ s/^(\d)// and $1 eq 1
5843 16 1007 if $time != int $time
5846 859 164 if ($toLocal) { }
5865 0 162 if $timeStr eq "0000:00:00 00:00:00"
5867 0 162 unless @tm == 7
5868 0 162 unless (eval { do { require Time::Local } })
5875 113 49 if ($isLocal)
5876 113 0 if ($tzStr =~ /(?:Z|([-+])(\d+):(\d+))/i) { }
0 0 elsif ($isLocal eq '2') { }
5878 55 52 $1 eq '-' ? :
107 6 if $1
5886 0 162 $isLocal ? :
5888 1 159 if $tzStr and $tzStr =~ /^(\.\d+)/
5899 105 190 if $val < 2000
5900 140 50 if $val < 10000
5901 46 4 if $val < 2000000
5902 3 1 if $val < 10000000
5903 1 0 if $val < 2000000000
5904 0 0 if $val < '10000000000'
5915 0 130 unless &IsFloat($time)
5916 69 61 if $time == 0
5917 61 0 $time > 0 ? :
5918 57 4 if $time < 30
5924 0 4 if ($h > 24)
5940 0 20 unless &IsFloat($bitrate)
5944 18 20 if $bitrate >= 1000 and @units
5945 13 7 $bitrate < 100 ? :
5958 0 938 if $enc
5970 0 1 if $enc
5982 0 0 unless $self->{'HTML_DUMP'}
5984 0 0 if $self->{'BASE'}
5987 0 0 if ($self->{'SkipData'})
5991 0 0 if $end <= $skip->[0]
5992 0 0 if $pos >= $skip->[1]
5993 0 0 if ($pos != $skip->[0])
6018 566 0 if $len > 64
6019 0 566 unless $raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len
6020 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$]) { }
6042 185 381 $type ? :
6070 0 185 if ($dirName eq 'Insta360') { }
0 185 elsif ($dirName eq 'NikonApp') { }
6080 50 135 if ($outfile)
6082 35 15 if $$outfile
6105 50 135 if ($outfile) { }
0 135 elsif ($result < 0) { }
6106 50 0 if ($result > 0) { }
6107 33 17 if ($outBuff)
6111 33 0 if $fixup
6114 15 35 if ($dirInfo->{'Fixup'})
6115 7 8 if ($fixup)
6125 0 0 if $self->Error("Error rewriting $dirName trailer", 2)
6133 0 185 unless $result > 0 and $dirInfo->{'DirLen'}
6136 57 128 unless my $nextTrail = &IdentifyTrailer($raf, $offset)
6196 1157 1898 unless ($markerName)
6198 1157 0 if ($markerName and $markerName =~ /^([A-Z]+)\d+$/) { }
6216 263 297 if (defined $base)
6244 0 233 unless $raf->Read($s, 2) == 2 and $s =~ /^\xff[\xd8\x4f\x01]/
6245 2 231 if ($s eq "\377\1")
6246 0 2 unless $raf->Read($s, 5) == 5 and $s eq "Exiv2"
6251 0 233 if ($options->{'RequestAll'} and $options->{'RequestAll'} > 2)
6254 225 2 if (not $self->{'VALUE'}{'FileType'} or $self->{'DOC_NUM'} and $options->{'ExtractEmbedded'})
6256 1 224 if $fast == 3
6259 1 231 if $self->Options("FastScan")
6261 232 0 if $verbose < 4
6262 0 232 if ($htmlDump)
6264 0 0 $s eq 'Exiv2' ? :
6266 0 0 if $pos
6289 1820 230 unless ($marker and $marker == 217 || $marker == 218 && !$wantTrailer || $marker == 147)
6292 0 1820 unless $raf->ReadLine($buff)
6296 0 1820 unless $raf->Read($ch, 1)
6298 1820 0 unless $nextMarker == 255
6302 1587 233 if (not defined $markerLenBytes{$nextMarker}) { }
0 233 elsif ($markerLenBytes{$nextMarker} == 4) { }
6304 0 1587 unless $raf->Read($s, 2) == 2
6306 0 1587 unless defined $len and $len >= 2
6309 0 1587 unless $raf->Read($buff, $len) == $len
6313 0 0 unless $raf->Read($s, 4) == 4
6315 0 0 unless defined $len and $len >= 4
6318 0 0 unless $raf->Seek($len, 1)
6321 233 1587 unless defined $marker
6327 0 0 if ($skipped and not $foundSOS and $markerName ne "SOS")
6329 0 0 if ($htmlDump)
6338 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) { }
6340 2 227 if ($verbose) { }
0 227 elsif ($htmlDump) { }
6342 1 1 if $verbose > 2
6347 0 229 unless $length >= 6
6356 0 229 unless $n == 3 and $length >= 15
6365 229 458 unless ($i)
6371 229 229 if $hf < $hmin
6372 0 458 if $hf > $hmax
6373 228 230 if $vf < $vmin
6374 0 458 if $vf > $vmax
6376 229 0 if ($hmin and $vmin)
6383 1 2 if $verbose
6385 0 3 if ($htmlDump and $dumpEnd)
6390 3 0 if ($foundSOS or $self->{'FILE_TYPE'} eq 'EXV') { }
6395 0 3 if ($req->{'trailer'})
6397 0 0 if ($raf->Seek(0, 2)) { }
6399 0 0 if ($len)
6402 0 0 if $raf->Read($buff, $len) == $len
6410 0 3 if ($wantTrailer)
6412 0 0 if ($start or $options->{'ExtractEmbedded'})
6418 0 0 $self->{'Make'} =~ /Sony/i ? :
6419 0 0 if ($raf->Read($buff, $scanLen))
6420 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) { }
6422 0 0 if ($raf->Seek(0, 2)) { }
6424 0 0 if ($options->{'Binary'}) { }
6425 0 0 if $raf->Seek($pos, 0) and $raf->Read($buff, $len) == $len
6429 0 0 if ($val) { }
6442 0 0 if ($start and $start ne $actual and $verbose > 1)
6446 0 0 if ($start)
6447 0 0 if $self->{'VALUE'}{'PreviewImageStart'}
6451 0 0 if ($self->{'PreviewError'} and $self->{'PreviewImageLength'})
6452 0 0 if ($raf->Seek($actual, 0) and $raf->Read($buff, $self->{'PreviewImageLength'}))
6465 0 3 if ($trailInfo)
6472 0 3 if ($self->{'LeicaTrailer'})
6479 1 2 if ($verbose or $htmlDump)
6481 1 0 unless ($endPos)
6486 0 1 if $endPos > $pos
6491 0 3 if $calcImageLen
6497 2 227 if $verbose
6498 228 1 unless ($fast)
6501 28 0 if ($trailInfo and $verbose < 3 and not $htmlDump)
6504 28 0 if $self->ProcessTrailers($trailInfo)
6506 0 0 if ($wantTrailer and $self->{'PreviewImageStart'})
6510 0 0 if ($raf->Seek($self->{'PreviewImageStart'}, 0) and $raf->Read($buff, 4) == 4 and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/)
6516 0 0 unless $raf->Seek($curPos, 0)
6519 0 228 if ($self->{'LeicaTrailer'}) { }
6522 0 0 if $self->{'LeicaTrailer'}
6524 0 228 if $options->{'ExtractEmbedded'}
6526 1 227 if $trailInfo or $wantTrailer or $verbose > 2 or $htmlDump
6529 0 228 if $options->{'Validate'} or $calcImageLen or $req->{'trailer'}
6535 0 1 if $verbose
6537 0 1 if $verbose > 2 or $htmlDump
6541 0 0 if $verbose and $marker
6553 1 0 if $num < 4
6559 862 496 if ($marker & 240) == 224
6560 6 1352 if ($verbose)
6562 3 3 if ($verbose > 2)
6564 0 3 if $verbose == 4
6578 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) { }
6579 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)/) { }
6592 0 19 if $fast > 1
6611 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)/) { }
6616 0 187 if (length $1) { }
0 187 elsif (not $$segDataPt =~ /^Exif\0/) { }
6622 0 187 if ($htmlDump)
6628 0 187 if (defined $combinedSegData)
6636 0 187 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::exifAPP1hdr(?!(MM\0\x2a|II\x2a\0))/)
6640 0 0 unless (defined $combinedSegData)
6653 0 187 if @skipData
6655 0 187 unless $self->ProcessTIFF(\%dirInfo)
6661 171 4 if (not $start or not $plen and $self->{'PreviewError'})
6665 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'})
6675 0 187 if (@skipData)
6688 2 0 if ($length > 75) { }
6691 0 2 if ($guid =~ /[^A-Za-z0-9]/) { }
6695 1 1 if (not $extXMP) { }
0 1 elsif ($size != $extXMP->{'Size'}) { }
6719 0 1 if $verbose
6721 0 1 if (defined $flirTotal) { }
6723 0 0 if $chunksTot != $flirTotal
6728 1 0 if (defined $flirCount) { }
6729 0 1 if (defined $flirChunk[$chunkNum]) { }
6736 1 0 if (++$flirCount >= $flirTotal)
6760 68 0 if ($$segDataPt =~ /^(http|XMP\0)/ or $$segDataPt =~ /<(exif:|\?xpacket)/)
6764 68 0 $$segDataPt =~ /^$Image::ExifTool::xmpAPP1hdr/ ? :
6767 68 0 $start ? :
6769 0 68 if ($processed and not $start)
6773 0 68 if ($verbose and not $processed)
6778 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) { }
6784 0 34 if $verbose
6785 0 34 if (defined $iccChunksTotal) { }
6787 0 0 if $chunksTot != $iccChunksTotal
6791 0 34 unless $chunksTot
6793 34 0 if (defined $iccChunkCount) { }
6794 0 34 if (defined $iccChunk[$chunkNum]) { }
6801 34 0 if (++$iccChunkCount >= $iccChunksTotal)
6821 0 67 if $fast > 1
6831 0 19 if ($htmlDump)
6848 0 120 if ($preview and $nextMarker ne $marker)
6853 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/) { }
6856 0 19 if ($htmlDump)
6865 0 0 if ($htmlDump)
6875 1 0 if $self->{'FILE_TYPE'} eq "JPEG"
6883 0 0 if (defined $combinedSegData)
6887 0 0 if ($nextMarker == $marker) { }
6888 0 0 unless defined $combinedSegData
6899 0 20 if ($preview and $nextMarker ne 228)
6904 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) { }
6908 0 0 unless defined $scalado
6910 0 0 if ($idx == $num - 1)
6911 0 0 if ($len != length $scalado)
6923 0 0 if $fast > 1
6941 0 0 if ($preview and $nextMarker ne 229)
6946 20 0 if ($$segDataPt =~ /^RMETA\0/) { }
0 0 elsif ($$segDataPt =~ /^ssuniqueid\0/) { }
0 0 elsif ($self->{'Make'} eq 'DJI') { }
0 0 elsif ($preview) { }
6967 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) { }
6970 0 18 if ($htmlDump)
7001 0 19 if ($$segDataPt =~ /^PENTAX \0(II|MM)/) { }
0 19 elsif ($$segDataPt =~ /^HUAWEI\0\0(II|MM)/) { }
19 0 elsif ($$segDataPt =~ /^\x1aQualcomm Camera Attributes/) { }
7009 0 0 if ($htmlDump)
7022 0 0 if ($htmlDump)
7042 19 0 if ($$segDataPt =~ /^SPIFF\0/ and $length == 32)
7049 19 0 if ($$segDataPt =~ /^Media Jukebox\0/ and $length > 22)
7059 19 0 if ($$segDataPt =~ /^UNICODE\0/) { }
0 0 elsif ($$segDataPt =~ /^AROT\0/ and $length > 10) { }
7069 19 19 if ($$segDataPt =~ /^HDR_RI /) { }
19 0 elsif ($$segDataPt =~ /^(JP..)/s and length $$segDataPt >= 16) { }
7072 0 19 if (defined $combinedSegData)
7073 0 0 if ($$segDataPt =~ /~\0/g) { }
7080 0 19 if ($nextMarker == $marker and $$nextSegDataPt =~ /^HDR_RI /) { }
7081 0 0 unless defined $combinedSegData
7097 0 19 if ($len == 1 and length $$segDataPt >= 24) { }
7103 19 0 unless $jumbfChunk{$type}
7104 0 19 if ($len < $hdrLen) { }
0 19 elsif ($seq < 0) { }
0 19 elsif (defined $jumbfChunk{$type}[$seq]) { }
7116 0 19 unless defined $_
7119 19 0 if ($size == $len)
7131 21 19 if ($$segDataPt =~ /^Ducky/) { }
7138 19 0 if $self->ProcessDirectory(\%dirInfo, $tagTablePtr)
7142 63 19 if ($$segDataPt =~ /^$Image::ExifTool::psAPP13hdr/ or $$segDataPt =~ /^$Image::ExifTool::psAPP13old/ and $isOld = 1) { }
19 0 elsif ($$segDataPt =~ /^Adobe_CM/) { }
7146 0 63 if (defined $combinedSegData)
7151 0 63 if ($nextMarker == $marker and $$nextSegDataPt =~ /^$Image::ExifTool::psAPP13hdr/) { }
7153 0 0 unless defined $combinedSegData
7156 0 63 $isOld ? :
7178 45 0 if ($$segDataPt =~ /^Adobe/)
7180 16 29 if ($req->{'adobe'} or $self->{'TAGS_FROM_FILE'} and not $self->{'EXCL_TAG_LOOKUP'}{'adobe'})
7193 19 0 if ($$segDataPt =~ /^Q\s*(\d+)/ and $length == 4)
7204 2 0 if ($length > 2)
7207 2 0 if $reg == 1
7209 0 2 $reg == 0 || $reg == 65535 ? :
7219 1115 56 if (defined $dumpType)
7220 0 1 if (not $dumpType and $options->{'Unknown'} || $options->{'Validate'})
7221 0 0 $$segDataPt =~ /^([\x20-\x7e]{1,20})\0/ ? :
7222 0 0 unless $xtra
7225 0 1115 if ($htmlDump)
7226 0 0 $dumpType ? :
0 0 unless $desc
7234 1 231 if (%extendedXMP)
7240 1 0 if $readGuid eq 1
7242 0 1 unless length $guid == 32
7247 0 2 unless defined $extXMP->{$off}
7251 0 1 unless ($off == $extXMP->{'Size'})
7255 1 0 if ($guid eq $readGuid or $readGuid eq '2') { }
7256 0 1 if $guid ne $goodGuid
7271 0 0 if $guid ne $goodGuid
7273 0 1 if $warn
7278 1 231 if (@dqt)
7283 0 232 if %jumbfChunk
7284 0 232 if defined $iccChunkCount
7285 0 232 if defined $flirCount
7286 0 232 if $self->{'PreviewError'}
7287 0 232 unless $success
7288 0 232 if @$path > $pn
7322 108 370 if (defined $exifData)
7345 47 431 if ($raf) { }
390 41 elsif ($dataPt and length $$dataPt) { }
41 0 elsif ($outfile) { }
7346 14 33 if ($outfile) { }
7347 0 14 unless $raf->Seek(0, 0)
7348 0 14 if ($base)
7349 0 0 unless $raf->Read($$dataPt, $base) == $base
7350 0 0 unless &Write($outfile, $$dataPt)
7353 0 33 unless $raf->Seek($base, 0)
7356 3 44 $fileType eq 'EXIF' ? :
7358 1 46 if ($n < 8)
7359 0 1 if $n or not $outfile or $fileType ne "EXIF"
7364 2 45 if ($n > 8)
7366 0 2 if ($n == $amount)
7376 0 390 if $self->{'OPTIONS'}{'Verbose'} and length $self->{'INDENT'} > 2
7382 42 436 unless (defined $self->{'EXIF_DATA'})
7385 0 42 if ($dirInfo->{'DirName'} and $dirInfo->{'DirName'} eq "GPS")
7389 33 9 if ($self->SetPreferredByteOrder($defaultByteOrder) eq 'MM') { }
7396 370 108 unless defined $self->{'FIRST_EXIF_POS'}
7401 6 472 unless &SetByteOrder($byteOrder)
7409 0 472 if $fileType eq "APP1" and $identifier != 42
7412 0 472 if length $$dataPt < 8
7414 0 472 unless $offset >= 8
7416 40 432 if ($raf)
7420 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') { }
7421 0 17 unless $raf->Read($sig, 8) == 8
7423 10 7 if ($sig =~ /^(CR\x02\0|\xba\xb0\xac\xbb|ExifMeta)/)
7424 1 9 if ($sig eq 'ExifMeta') { }
7428 9 0 $sig =~ /^CR/ ? :
7431 0 10 if $self->{'HTML_DUMP'}
7437 3 0 if ($offset >= 24 and $raf->Read($magic, 16) and $magic eq "\210\347t\330\370%\035M\224znw\202+]j") { }
7440 3 0 unless $fileType eq "RWL"
7441 0 3 if $self->{'HTML_DUMP'}
7448 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) { }
7453 0 0 if ($result)
7454 0 0 if $self->{'MultiPage'}
7466 0 0 if ($ver > 1)
7473 38 2 if ($fileType and not $self->{'VALUE'}{'FileType'})
7475 0 38 unless ref $lookup or not $lookup
7477 0 38 ref $lookup->[0] ? :
38 0 $lookup ? :
7478 37 1 $baseType eq 'TIFF' || $fileType =~ /RAW/ ? :
7482 0 27 if not $outfile and $self->{'OPTIONS'}{'FastScan'} and $self->{'OPTIONS'}{'FastScan'} == 3
7485 18 454 $dirInfo->{'DirName'} && $dirInfo->{'DirName'} =~ /^(ExifIFD|GPS)$/ ? :
7486 396 76 if (not $tagTablePtr or $tagTablePtr->{'GROUPS'}{'0'} eq 'EXIF') { }
19 57 elsif ($tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes') { }
7487 278 118 unless $outfile
7493 0 472 if ($self->{'HTML_DUMP'})
7494 0 0 $byteOrder eq 'II' ? :
7502 227 245 unless $tagTablePtr
7520 350 122 unless ($outfile)
7524 7 343 if ($self->{'VALUE'}{'GeoTiffDirectory'})
7529 27 323 if ($raf)
7531 3 24 if ($trailInfo)
7536 0 0 if ($self->{'HTML_DUMP'} and $self->{'KnownTrailer'})
7540 0 0 if $trailInfo
7541 0 0 if $len > 0
7545 0 350 if ($self->{'DNGVersion'} and not $self->{'VALUE'}{'FileType'} =~ /^(DNG|GPR)$/)
7549 10 340 if ($self->{'TIFF_TYPE'} eq "TIFF")
7550 0 10 if $self->{'MultiPage'}
7557 1 121 if ($dirInfo->{'NoTiffEnd'}) { }
7563 3 119 if ($canonSig) { }
7568 0 3 unless Image::ExifTool::CanonRaw::WriteCR2($self, \%dirInfo, $tagTablePtr)
7571 1 118 if ($fileType eq 'EXIF') { }
117 1 elsif (not defined $otherSig) { }
7583 1 118 if $fileType eq "ORF" or $identifier != 42
7585 0 119 if (not defined $newData) { }
113 6 elsif (length $newData) { }
7590 3 110 if ($hdrLen != 8)
7594 0 0 if $pi and $pi->{'Fixup'}
7596 0 113 if ($self->{'TIFF_TYPE'} eq 'ARW' and not $err) { }
7601 0 0 if $errStr
7604 0 113 unless &Write($outfile, $header, $newData)
7609 10 109 if (ref $dirInfo{'ImageData'} and not $err)
7610 0 10 unless $self->CopyImageData($dirInfo{'ImageData'}, $outfile)
7619 12 1 if ($raf and $tiffEnd and not $err)
7621 0 12 unless $raf->Seek(0, 2)
7625 9 3 unless $extra > 12
7628 3 0 unless $trailInfo
7633 0 0 unless ($self->ProcessTrailers($trailInfo))
7643 1 11 if ($extra > 0 and $tiffEnd & 1)
7644 0 1 unless $raf->Seek($tiffEnd, 0)
7645 0 1 unless $raf->Read($buf, 1)
7646 1 0 if defined $buf and $buf eq "\0"
7648 3 9 if ($extra > 0)
7650 0 3 if ($self->{'DEL_GROUP'}{'Trailer'} and not $known) { }
0 3 elsif ($known) { }
7655 0 0 unless $raf->Seek($tiffEnd, 0)
7656 0 0 unless &CopyBlock($raf, $outfile, $extra)
7658 0 3 unless $raf->Seek($tiffEnd, 0)
7663 0 3 $size > 65536 ? :
7664 0 3 unless $raf->Read($buf, $n) == $n
7665 3 0 if ($buf =~ /[^\0]/)
7668 0 3 if $size != $extra
7669 0 3 unless &Write($outfile, $buf)
7670 0 3 if $size > $n
7674 0 0 if $size > 0
7681 0 12 if $trailInfo
7684 2 10 if $trailPt
7687 1 121 if ($self->{'DNGVersion'})
7690 0 1 unless ($ver =~ /^(\d+) (\d+)/ and "$1.$2" <= "1.6")
7695 0 122 $err ? :
7708 382461 63193 unless $Image::ExifTool::specialTags{$_}
7727 4 88881 unless my $tableName = shift()
7730 4488 84393 unless ($table)
7732 864 3624 unless (%$tableName)
7734 864 0 if ($tableName =~ /(.*)::/)
7736 864 0 if (eval "require $module") { }
7738 28 836 unless (%$tableName)
7739 28 0 if ($module eq 'Image::ExifTool::XMP') { }
0 0 elsif ($tableName eq 'Image::ExifTool::QuickTime::Stream') { }
7746 0 0 if $@
7749 0 864 unless (%$tableName)
7757 12 4476 if $table->{'INIT_TABLE'}
7762 124 4364 unless $defaultGroups
7763 3585 903 unless ($defaultGroups->{'0'} and $defaultGroups->{'1'})
7764 3585 0 if ($tableName =~ /Image::.*?::([^:]*)/) { }
7765 1366 2219 unless $defaultGroups->{'0'}
7766 2954 631 unless $defaultGroups->{'1'}
7768 0 0 unless $defaultGroups->{'0'}
7769 0 0 unless $defaultGroups->{'1'}
7772 268 4220 unless $defaultGroups->{'2'}
7773 507 3981 if ($defaultGroups->{'0'} eq "XMP" or $table->{'NAMESPACE'})
7778 19 488 unless $table->{'WRITE_PROC'}
7779 60 447 unless $table->{'CHECK_PROC'}
7780 57 450 unless $table->{'LANG_INFO'}
7783 4388 100 unless (defined $table->{'TAG_PREFIX'})
7785 4388 0 if ($tableName =~ /Image::.*?::(.*)::Main/ or $tableName =~ /Image::.*?::(.*)/) { }
7795 2 563 if (%Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName} and $table ne \%Image::ExifTool::Composite)
7798 0 3 if $Image::ExifTool::specialTags{$tagID}
7810 0 118 if ($table eq \%Image::ExifTool::Composite and not $table->{'VARS'}{'LOADED_USERDEFINED'} and %Image::ExifTool::UserDefined and $Image::ExifTool::UserDefined{$tableName})
7831 0 4862 unless $tagTablePtr and $dirInfo
7833 4458 404 unless $proc
7836 701 4161 unless ($dirName)
7838 179 522 if $dirName =~ /^APP\d+$/
7843 4057 49 if (defined $dirInfo->{'DirStart'} and defined $dirInfo->{'DataPos'} and $dirInfo->{'DirLen'} || !defined($dirInfo->{'DirLen'}))
7848 0 4057 if ($self->{'PROCESSED'}{$addr})
7851 0 0 unless $dirName eq "GPS" and $self->{'PROCESSED'}{$addr} eq "InteropIFD"
7892 1776 131 if ($filename and $filename =~ /^.*\.([^.]+)$/s)
7896 34 1742 if $fileExt eq "TIF"
7911 0 526513 if ($Image::ExifTool::specialTags{$tagID}) { }
482658 43855 elsif (ref $tagInfo eq 'HASH') { }
10897 32958 elsif (ref $tagInfo eq 'ARRAY') { }
28518 4440 elsif ($tagInfo) { }
7945 12594 97922 if ($condition)
7946 800 11794 if @_ > 3
7947 662 11932 if $condition =~ /\$(valPt|format|count)\b/ and not defined $valPt
7952 9521 2411 unless (eval $condition)
7953 0 9521 if $@
7954 0 9521 if $Image::ExifTool::evalWarning
7958 2061 4 if ($tagInfo->{'Unknown'} and not $self->{'OPTIONS'}{'Unknown'} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'OPTIONS'}{'Validate'} and not $self->{'HTML_DUMP'})
7969 600 4566 if (not $tagInfo and $self->{'OPTIONS'}{'Unknown'} || $self->{'OPTIONS'}{'Verbose'} and $tagID =~ /^\d+$/ and not $self->{'NO_UNKNOWN'}) { }
7973 155 445 if (defined $tagTablePtr->{'PRINT_CONV'}) { }
8010 0 0 $tagInfo ? :
0 6033 unless ref $tagInfo eq "HASH"
8013 432 5601 if ($tagInfo->{'Groups'}) { }
8016 738 558 if $tagInfo->{'Groups'}{$_}
8022 57 5976 if $tagInfo->{'Flags'}
8026 1442 4591 if (defined $tagTablePtr->{'AVOID'} and not defined $tagInfo->{'Avoid'})
8031 24 6009 unless defined $name
8035 22 2 unless (defined $tagInfo->{'Name'} or $noPrefix or not $tagTablePtr->{'TAG_PREFIX'})
8041 14 6019 if length $name < 2 or not $name =~ /^[A-Z]/i
8045 5950 0 unless (defined $tagTablePtr->{$tagID} or $Image::ExifTool::specialTags{$tagID})
8068 7236 2107 if ($tagInfo) { }
8071 2107 0 unless $verbose
8076 0 578 unless (defined $val or $subdir and not $tagInfo->{'Writable'} and not $tagInfo->{'RawConv'})
8078 873 0 $dataPt ? :
8080 4 869 unless defined $size
8082 873 0 if ($start >= 0 and $start + $size <= $dLen) { }
8084 319 0 if not $format and $pfmt and $formatSize{$pfmt}
8085 421 452 if ($format) { }
8096 51 7185 if ($verbose)
8097 0 51 if $noTagInfo
8099 0 51 if defined $rational
8101 0 51 if ($format)
8107 7236 0 if ($tagInfo)
8108 729 6507 if ($subdir)
8111 1 728 if ($tagInfo->{'RawConv'} and not $tagInfo->{'Writable'})
8115 0 1 if (ref $conv eq 'CODE') { }
8122 0 1 if $@
8124 0 1 if $Image::ExifTool::evalWarning
8125 0 1 unless defined $val
8126 1 0 if ref $val eq "SCALAR"
8131 8 721 if ($subdir->{'Start'})
8138 11 718 unless $dataPt
8154 3 726 if ($subdir->{'ByteOrder'})
8155 1 2 if ($subdir->{'ByteOrder'} eq 'Unknown') { }
8156 1 0 if ($subdirStart + 2 <= $subdirLen)
8159 1 0 if $num & 65280 and $num >> 8 > ($num & 255)
8169 729 0 unless $tagInfo->{'Writable'}
8173 12 6495 if defined $rational and defined $key
8193 50765 7256 if (ref $tagInfo eq 'HASH') { }
8194 0 50765 unless $tag = $tagInfo->{'Name'}
8201 2 7254 unless $tagInfo
8202 39 7217 if $options->{'Verbose'}
8206 53687 4334 unless (defined $priority)
8208 39 51549 if not defined $priority and $tagInfo->{'Avoid'}
8210 58007 14 unless $grps[0]
8211 58007 14 unless $grps[1]
8214 8944 49077 if ($tagInfo->{'RawConv'})
8217 1729 0 if (ref $value eq "HASH" and $tagInfo->{'IsComposite'})
8223 217 8727 if (ref $conv eq 'CODE') { }
8225 0 217 if $self->{'grps'}
8231 0 8727 if $@
8233 0 8944 if $Image::ExifTool::evalWarning
8234 2510 6434 unless defined $value
8237 6588 48923 if (defined $valueHash->{$tag}) { }
209 48714 elsif ($priority) { }
8239 642 5946 if ($self->{'LIST_TAGS'}{$tagInfo})
8241 65 577 if (defined $self->{'NO_LIST'}) { }
8243 31 34 if (defined $self->{'TAG_EXTRA'}{$tag}{'NoList'}) { }
8250 298 279 if (ref $valueHash->{$tag} ne "ARRAY")
8267 5103 908 unless ($oldPriority)
8268 5068 35 if ($self->{'DOC_NUM'} or not $self->{'TAG_EXTRA'}{$tag} or $tag eq 'Warning' or not $self->{'TAG_EXTRA'}{$tag}{'G3'}) { }
8277 1978 4033 if (defined $priority) { }
411 3622 elsif ($self->{'LOW_PRIORITY_DIR'}{'*'} or $self->{'DIR_NAME'} and $self->{'LOW_PRIORITY_DIR'}{$self->{'DIR_NAME'}}) { }
8280 40 1881 if not $priority and $self->{'DIR_NAME'} and $self->{'DIR_NAME'} eq $self->{'PRIORITY_DIR'}
8288 2728 3283 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) { }
8299 1880 3576 if ($self->{$_}{$tag})
8306 7 2721 if $self->{'LIST_TAGS'}{$oldInfo}
8308 86 2642 if ($self->{'COMP_KEYS'}{$tag})
8317 65 5946 if $noListDel
8329 493 54441 if $grps[0]
8330 4301 50633 if $grps[1]
8331 1749 53185 if ($self->{'DOC_NUM'})
8333 1749 0 if ($self->{'DOC_NUM'} =~ /^(\d+)/)
8335 33 1716 unless $self->{'DOC_COUNT'} >= $1
8339 258 54676 if $options->{'SavePath'}
8343 1106 181 if ($tagInfo->{'List'} and not $self->{'NO_LIST'} and not $noListDel)
8350 213 54721 if ($options->{'Validate'} and not ref $value)
8363 22 0 unless $self->{'PRIORITY_DIR'}
8372 0 13200 defined $fam ? :
8396 167 6 if (not ref $_[0]) { }
4 2 elsif (ref $_[0] eq 'ARRAY') { }
0 2 elsif (ref $_[0] eq 'HASH') { }
8419 586 48 unless ($self->{'VALUE'}{'FileType'} and not $self->{'DOC_NUM'})
8422 451 135 unless $fileType
8424 257 285 if (defined $ext and $ext ne $fileType and not $self->{'DOC_NUM'})
8426 10 232 if (ref $f eq "ARRAY" and ref $e eq "ARRAY" and $f->[0] eq $e->[0])
8428 4 6 if $f->[0] eq $fileType or not $Image::ExifTool::fileTypeLookup{$f->[0]}
8431 565 21 unless $mimeType
8433 20 566 unless $mimeType or $baseType eq "TIFF"
8434 576 10 unless (defined $normExt)
8436 328 248 unless defined $normExt
8452 8 6 if (defined $self->{'VALUE'}{'FileType'} and $fileType ne $self->{'VALUE'}{'FileType'})
8455 5 3 unless (defined $normExt)
8457 5 0 unless defined $normExt
8460 8 0 unless $mimeType
8461 5 3 if $mimeType
8462 0 8 if ($self->{'OPTIONS'}{'Verbose'})
8465 0 0 if $mimeType
8477 0 8 unless $mime =~ m[/] or $mime = $Image::ExifTool::mimeType{$mime}
8479 8 0 if (defined $old) { }
8497 4 9111 if ($self->{'OPTIONS'}{'Verbose'} and $self->{'OPTIONS'}{'Verbose'} > $level)
8500 0 4 unless $_[-1] =~ /\n$/
8512 405 44 unless $self->{'OPTIONS'}{'Verbose'}
8513 0 44 if (ref $name eq "HASH")
8514 0 0 unless $size
8519 22 22 $entries || defined $entries && !$size ? :
8520 22 22 if $size
8532 0 128 if ($verbose and $verbose > 2)
8536 0 0 $verbose < 5 ? :
0 0 $verbose < 4 ? :
8564 43 4 if ($tag)
8565 29 14 if ($tag eq "PreviewImage")
8572 34 0 if (!$self->{'OPTIONS'}{'Binary'} || $self->{'EXCL_TAG_LOOKUP'}{$lcTag} and not $self->{'OPTIONS'}{'Verbose'} and not $self->{'REQ_TAG_LOOKUP'}{$lcTag})
8578 5 8 unless ($self->{'RAF'}->Seek($offset, 0) and $self->{'RAF'}->Read($buff, $length) == $length)
8581 0 5 unless $tag
8582 0 5 if ($isPreview and not $self->{'BuildingComposite'}) { }
8612 0 2055 unless ($increment)
8619 0 2055 if ($unknown > 1 and defined $tagTablePtr->{'FIRST_ENTRY'}) { }
189 1866 elsif ($dirInfo->{'DataMember'}) { }
38 1828 elsif ($dirInfo->{'MixedTags'}) { }
8621 0 0 $size < 65536 ? :
8627 0 0 if @ftags
8636 0 54108 $a < 0 ? :
0 54108 $b < 0 ? :
8638 19 2036 if $verbose
8640 2055 0 if $unknown < 2
8646 17157 0 if ($tagTablePtr->{$index}) { }
0 0 elsif ($topIndex and $$tagTablePtr{$index - $topIndex}) { }
8648 687 16470 unless ($tagInfo)
8649 643 44 unless defined $tagInfo
8651 0 44 if ($entry < 0)
8653 0 0 if $entry < 0
8655 40 4 if $entry >= $size
8657 0 4 if $more > 128
8660 0 4 unless $tagInfo
8663 1 261 if $tagInfo->{'Unknown'} and $tagInfo->{'Unknown'} > $unknown || $index < $nextIndex
8665 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index - $topIndex)
8668 0 0 unless $unknown > 1
8669 0 0 if $index < $nextIndex
8670 0 0 unless $tagInfo = $self->GetTagInfo($tagTablePtr, $index)
8676 0 16473 if ($entry < 0)
8678 0 0 if $entry < 0
8681 259 16214 if $more <= 0
8684 9366 6848 if (not $format) { }
104 6744 elsif ($format eq 'string') { }
0 6744 elsif ($format eq 'pstring') { }
3120 3624 elsif (not $formatSize{$format}) { }
8694 2935 185 if ($format =~ /(.*)\[(.*)\]/) { }
185 0 elsif ($format =~ /^var_/) { }
8701 0 2935 if $@
8702 0 2935 if $count < 0
8706 0 2935 if ($format =~ s/^var_//)
8710 0 0 if ($dirInfo->{'VarFormatData'})
8715 0 0 if $tagInfo->{'LargeTag'} and $dirInfo->{'VarFormatData'}
8722 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) { }
8723 0 0 if $$dataPt =~ /\G(..)*?\0\0/gs
8729 0 170 if $more < 4
8731 168 2 if $format eq "ustr32"
8737 0 10 if $more < 2
8744 0 3 unless defined $val
8750 0 185 if not defined $count or $count > $more
8752 182 3 unless (defined $val)
8754 168 14 if $format eq "ustring" or $format eq "ustr32"
8755 172 10 unless $format eq "undef"
8759 5 180 if ($dirInfo->{'VarFormatData'})
8765 540 15674 if (defined $tagInfo->{'Hook'})
8771 247 293 if ($dirInfo->{'VarFormatData'}) { }
0 585 elsif ($varSize != $oldVarSize and $verbose > 2) { }
8772 0 247 if $wasVar
8776 0 0 if $tmp < 0
8780 0 16214 if ($unknown > 1)
8783 0 0 unless $wasVar
8785 0 0 unless $nextIndex > $ni
8789 0 16214 if $tagInfo->{'LargeTag'} and $self->{'EXCL_TAG_LOOKUP'}{lc $tagInfo->{'Name'}}
8791 16029 185 unless (defined $val and not $tagInfo->{'SubDirectory'})
8793 0 16029 unless defined $val
8795 364 15665 if $mask
8797 198 16016 if ($verbose and not $tagInfo->{'Hidden'})
8798 198 0 if (not $tagInfo->{'SubDirectory'} or $tagInfo->{'Format'}) { }
8800 0 198 if $len > $more
8804 0 198 $mask ? :
8817 14 16200 if ($tagInfo->{'SubDirectory'})
8821 12 2 if ($tagInfo->{'Format'} and $formatSize{$format}) { }
8823 0 12 if $len > $more
8826 2 0 if ($subTablePtr->{'PROCESS_PROC'} and $subTablePtr->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData)
8834 0 14 if (defined $subdir->{'Base'})
8850 14 0 if $unknown < 2
8853 38 16162 if ($tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} ne 3)
8856 19 19 if eval $tagInfo->{'IsOffset'}
8860 0 16200 if ($tagInfo->{'SetBase'})
8865 0 16200 if defined $oldBase
8866 14861 1339 if ($key) { }
8867 40 14821 if defined $rational
8870 0 1339 if defined $saveNextIndex