exiftool_vendored 12.73.0 → 12.74.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +26 -1
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +2 -2
  6. data/bin/exiftool +49 -40
  7. data/bin/lib/File/RandomAccess.pm +31 -5
  8. data/bin/lib/File/RandomAccess.pod +4 -4
  9. data/bin/lib/Image/ExifTool/7Z.pm +3 -3
  10. data/bin/lib/Image/ExifTool/AFCP.pm +2 -2
  11. data/bin/lib/Image/ExifTool/BZZ.pm +2 -2
  12. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +5 -5
  13. data/bin/lib/Image/ExifTool/Canon.pm +3 -3
  14. data/bin/lib/Image/ExifTool/CanonVRD.pm +2 -2
  15. data/bin/lib/Image/ExifTool/DICOM.pm +2 -2
  16. data/bin/lib/Image/ExifTool/DNG.pm +4 -4
  17. data/bin/lib/Image/ExifTool/Exif.pm +2 -2
  18. data/bin/lib/Image/ExifTool/FLIR.pm +2 -2
  19. data/bin/lib/Image/ExifTool/Fixup.pm +3 -3
  20. data/bin/lib/Image/ExifTool/FlashPix.pm +3 -3
  21. data/bin/lib/Image/ExifTool/FujiFilm.pm +8 -3
  22. data/bin/lib/Image/ExifTool/Geotag.pm +3 -3
  23. data/bin/lib/Image/ExifTool/HtmlDump.pm +2 -2
  24. data/bin/lib/Image/ExifTool/ID3.pm +2 -2
  25. data/bin/lib/Image/ExifTool/Import.pm +5 -5
  26. data/bin/lib/Image/ExifTool/JSON.pm +2 -2
  27. data/bin/lib/Image/ExifTool/Jpeg2000.pm +2 -2
  28. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  29. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +2 -2
  30. data/bin/lib/Image/ExifTool/Nikon.pm +3 -1
  31. data/bin/lib/Image/ExifTool/NikonCustom.pm +3 -3
  32. data/bin/lib/Image/ExifTool/Ogg.pm +2 -2
  33. data/bin/lib/Image/ExifTool/PLIST.pm +3 -3
  34. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +3 -3
  35. data/bin/lib/Image/ExifTool/PhaseOne.pm +2 -2
  36. data/bin/lib/Image/ExifTool/Photoshop.pm +3 -3
  37. data/bin/lib/Image/ExifTool/PostScript.pm +2 -2
  38. data/bin/lib/Image/ExifTool/QuickTime.pm +40 -107
  39. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +8 -6
  40. data/bin/lib/Image/ExifTool/RSRC.pm +2 -2
  41. data/bin/lib/Image/ExifTool/Samsung.pm +4 -4
  42. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  43. data/bin/lib/Image/ExifTool/SigmaRaw.pm +3 -3
  44. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  45. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  46. data/bin/lib/Image/ExifTool/TagLookup.pm +5 -5
  47. data/bin/lib/Image/ExifTool/TagNames.pod +5 -1
  48. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  49. data/bin/lib/Image/ExifTool/WriteExif.pl +15 -15
  50. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  51. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +1 -1
  52. data/bin/lib/Image/ExifTool/WriteXMP.pl +4 -2
  53. data/bin/lib/Image/ExifTool/Writer.pl +66 -42
  54. data/bin/lib/Image/ExifTool/ZIP.pm +6 -6
  55. data/bin/lib/Image/ExifTool.pm +27 -23
  56. data/bin/lib/Image/ExifTool.pod +7 -6
  57. data/bin/perl-Image-ExifTool.spec +1 -1
  58. data/lib/exiftool_vendored/version.rb +1 -1
  59. metadata +2 -2
@@ -24,7 +24,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
24
24
  use Image::ExifTool::Exif;
25
25
  use Image::ExifTool::GPS;
26
26
 
27
- $VERSION = '1.22';
27
+ $VERSION = '1.23';
28
28
 
29
29
  sub ProcessFLIR($$;$);
30
30
  sub ProcessFLIRText($$$);
@@ -1468,7 +1468,7 @@ sub ProcessMeasInfo($$$)
1468
1468
  sub ProcessFLIR($$;$)
1469
1469
  {
1470
1470
  my ($et, $dirInfo, $tagTablePtr) = @_;
1471
- my $raf = $$dirInfo{RAF} || new File::RandomAccess($$dirInfo{DataPt});
1471
+ my $raf = $$dirInfo{RAF} || File::RandomAccess->new($$dirInfo{DataPt});
1472
1472
  my $verbose = $et->Options('Verbose');
1473
1473
  my $out = $et->Options('TextOut');
1474
1474
  my $base = $raf->Tell();
@@ -39,7 +39,7 @@ use Image::ExifTool qw(GetByteOrder SetByteOrder Get32u Get32s Set32u
39
39
  Get16u Get16s Set16u);
40
40
  use vars qw($VERSION);
41
41
 
42
- $VERSION = '1.05';
42
+ $VERSION = '1.06';
43
43
 
44
44
  sub AddFixup($$;$$);
45
45
  sub ApplyFixup($$);
@@ -69,7 +69,7 @@ sub new
69
69
  sub Clone($)
70
70
  {
71
71
  my $self = shift;
72
- my $clone = new Image::ExifTool::Fixup;
72
+ my $clone = Image::ExifTool::Fixup->new;
73
73
  $clone->{Start} = $self->{Start};
74
74
  $clone->{Shift} = $self->{Shift};
75
75
  my $phash = $self->{Pointers};
@@ -317,7 +317,7 @@ Image::ExifTool::Fixup - Utility to handle pointer fixups
317
317
 
318
318
  use Image::ExifTool::Fixup;
319
319
 
320
- $fixup = new Image::ExifTool::Fixup;
320
+ $fixup = Image::ExifTool::Fixup->new;
321
321
 
322
322
  # add a new fixup to a pointer at the specified offset in data
323
323
  $fixup->AddFixup($offset);
@@ -22,7 +22,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
22
22
  use Image::ExifTool::Exif;
23
23
  use Image::ExifTool::ASF; # for GetGUID()
24
24
 
25
- $VERSION = '1.47';
25
+ $VERSION = '1.48';
26
26
 
27
27
  sub ProcessFPX($$);
28
28
  sub ProcessFPXR($$$);
@@ -2206,7 +2206,7 @@ sub ProcessFPX($$)
2206
2206
  my ($tag, %hier, %objIndex, %loadedDifSect);
2207
2207
 
2208
2208
  # handle FPX format in memory from PNG cpIp chunk
2209
- $raf or $raf = new File::RandomAccess($$dirInfo{DataPt});
2209
+ $raf or $raf = File::RandomAccess->new($$dirInfo{DataPt});
2210
2210
 
2211
2211
  # read header
2212
2212
  return 0 unless $raf->Read($buff,HDR_SIZE) == HDR_SIZE;
@@ -2353,7 +2353,7 @@ sub ProcessFPX($$)
2353
2353
  $et->Warn('Error loading Mini-FAT stream');
2354
2354
  last;
2355
2355
  }
2356
- $miniStream = new File::RandomAccess(\$miniStreamBuff);
2356
+ $miniStream = File::RandomAccess->new(\$miniStreamBuff);
2357
2357
  }
2358
2358
 
2359
2359
  my $tagInfo;
@@ -31,7 +31,7 @@ use vars qw($VERSION);
31
31
  use Image::ExifTool qw(:DataAccess :Utils);
32
32
  use Image::ExifTool::Exif;
33
33
 
34
- $VERSION = '1.91';
34
+ $VERSION = '1.92';
35
35
 
36
36
  sub ProcessFujiDir($$$);
37
37
  sub ProcessFaceRec($$$);
@@ -1187,6 +1187,8 @@ my %faceCategories = (
1187
1187
  ValueConv => 'my @v=reverse split(" ",$val);"@v"', # reverse to show width first
1188
1188
  PrintConv => '$val=~tr/ /x/; $val',
1189
1189
  },
1190
+ # 0x112 - int16u[2] same as 0x111 but with width/height swapped?
1191
+ # 0x113 - int16u[2] same as 0x111?
1190
1192
  0x115 => {
1191
1193
  Name => 'RawImageAspectRatio',
1192
1194
  Format => 'int16u',
@@ -1236,6 +1238,7 @@ my %faceCategories = (
1236
1238
  Count => 36,
1237
1239
  PrintConv => '$val =~ tr/012 /RGB/d; join " ", $val =~ /....../g',
1238
1240
  },
1241
+ # 0x141 - int16u[2] Bit depth? "14 42" for 14-bit RAF and "16 48" for 16-bit RAF
1239
1242
  0x2000 => { #IB
1240
1243
  Name => 'WB_GRGBLevelsAuto',
1241
1244
  Format => 'int16u',
@@ -1408,6 +1411,8 @@ my %faceCategories = (
1408
1411
  0xf00e => 'WB_GRBLevels',
1409
1412
  0xf00f => 'ChromaticAberrationParams', # (rational64s[23])
1410
1413
  0xf010 => 'VignettingParams', #9 (rational64s[31 or 64])
1414
+ # 0xf013 - int32u[3] same as 0xf00d
1415
+ # 0xf014 - int32u[3] - also related to WhiteBalance
1411
1416
  );
1412
1417
 
1413
1418
  # information found in FFMV atom of MOV videos
@@ -1688,7 +1693,7 @@ sub WriteRAF($$)
1688
1693
  # rewrite the embedded JPEG in memory
1689
1694
  my %jpegInfo = (
1690
1695
  Parent => 'RAF',
1691
- RAF => new File::RandomAccess(\$jpeg),
1696
+ RAF => File::RandomAccess->new(\$jpeg),
1692
1697
  OutFile => \$outJpeg,
1693
1698
  );
1694
1699
  $$et{FILE_TYPE} = 'JPEG';
@@ -1792,7 +1797,7 @@ sub ProcessRAF($$)
1792
1797
  # extract information from embedded JPEG
1793
1798
  my %dirInfo = (
1794
1799
  Parent => 'RAF',
1795
- RAF => new File::RandomAccess(\$jpeg),
1800
+ RAF => File::RandomAccess->new(\$jpeg),
1796
1801
  );
1797
1802
  if ($jpos) {
1798
1803
  $$et{BASE} += $jpos;
@@ -29,7 +29,7 @@ use vars qw($VERSION);
29
29
  use Image::ExifTool qw(:Public);
30
30
  use Image::ExifTool::GPS;
31
31
 
32
- $VERSION = '1.73';
32
+ $VERSION = '1.74';
33
33
 
34
34
  sub JITTER() { return 2 } # maximum time jitter
35
35
 
@@ -174,7 +174,7 @@ sub LoadTrackLog($$;$)
174
174
  # $val is track file name
175
175
  if ($et->Open(\*EXIFTOOL_TRKFILE, $val)) {
176
176
  $trackFile = $val;
177
- $raf = new File::RandomAccess(\*EXIFTOOL_TRKFILE);
177
+ $raf = File::RandomAccess->new(\*EXIFTOOL_TRKFILE);
178
178
  unless ($raf->Read($_, 256)) {
179
179
  close EXIFTOOL_TRKFILE;
180
180
  return "Empty track file '${val}'";
@@ -202,7 +202,7 @@ sub LoadTrackLog($$;$)
202
202
  }
203
203
  unless ($from) {
204
204
  # set up RAF for reading log file in memory
205
- $raf = new File::RandomAccess(\$val);
205
+ $raf = File::RandomAccess->new(\$val);
206
206
  $from = 'data';
207
207
  }
208
208
 
@@ -13,7 +13,7 @@ use vars qw($VERSION);
13
13
  use Image::ExifTool; # only for FinishTiffDump()
14
14
  use Image::ExifTool::HTML qw(EscapeHTML);
15
15
 
16
- $VERSION = '1.39';
16
+ $VERSION = '1.40';
17
17
 
18
18
  sub DumpTable($$$;$$$$$$);
19
19
  sub Open($$$;@);
@@ -894,7 +894,7 @@ Image::ExifTool::HtmlDump - Dump information in hex to HTML page
894
894
  =head1 SYNOPSIS
895
895
 
896
896
  use Image::ExifTool::HtmlDump;
897
- my $dump = new Image::ExifTool::HtmlDump;
897
+ my $dump = Image::ExifTool::HtmlDump->new;
898
898
  $dump->Add($start, $size, $comment);
899
899
  $dump->Print($dumpInfo, $raf, $dataPt, $dataPos, $outfile);
900
900
 
@@ -18,7 +18,7 @@ use strict;
18
18
  use vars qw($VERSION);
19
19
  use Image::ExifTool qw(:DataAccess :Utils);
20
20
 
21
- $VERSION = '1.60';
21
+ $VERSION = '1.61';
22
22
 
23
23
  sub ProcessID3v2($$$);
24
24
  sub ProcessPrivate($$$);
@@ -1408,7 +1408,7 @@ sub ProcessID3($$)
1408
1408
  $$et{DoneID3} = 1;
1409
1409
 
1410
1410
  # allow this to be called with either RAF or DataPt
1411
- my $raf = $$dirInfo{RAF} || new File::RandomAccess($$dirInfo{DataPt});
1411
+ my $raf = $$dirInfo{RAF} || File::RandomAccess->new($$dirInfo{DataPt});
1412
1412
  my ($buff, %id3Header, %id3Trailer, $hBuff, $tBuff, $eBuff, $tagTablePtr);
1413
1413
  my $rtnVal = 0;
1414
1414
  my $hdrEnd = 0;
@@ -12,7 +12,7 @@ require Exporter;
12
12
 
13
13
  use vars qw($VERSION @ISA @EXPORT_OK);
14
14
 
15
- $VERSION = '1.10';
15
+ $VERSION = '1.11';
16
16
  @ISA = qw(Exporter);
17
17
  @EXPORT_OK = qw(ReadCSV ReadJSON);
18
18
 
@@ -38,13 +38,13 @@ sub ReadCSV($$;$$)
38
38
  $raf = $file;
39
39
  $file = 'CSV file';
40
40
  } elsif (ref $file eq 'GLOB') {
41
- $raf = new File::RandomAccess($file);
41
+ $raf = File::RandomAccess->new($file);
42
42
  $file = 'CSV file';
43
43
  } else {
44
44
  open CSVFILE, $file or return "Error opening CSV file '${file}'";
45
45
  binmode CSVFILE;
46
46
  $openedFile = 1;
47
- $raf = new File::RandomAccess(\*CSVFILE);
47
+ $raf = File::RandomAccess->new(\*CSVFILE);
48
48
  }
49
49
  $delim = ',' unless defined $delim;
50
50
  # set input record separator by first newline found in the file
@@ -253,13 +253,13 @@ sub ReadJSON($$;$$)
253
253
  $raf = $file;
254
254
  $file = 'JSON file';
255
255
  } elsif (ref $file eq 'GLOB') {
256
- $raf = new File::RandomAccess($file);
256
+ $raf = File::RandomAccess->new($file);
257
257
  $file = 'JSON file';
258
258
  } else {
259
259
  open JSONFILE, $file or return "Error opening JSON file '${file}'";
260
260
  binmode JSONFILE;
261
261
  $openedFile = 1;
262
- $raf = new File::RandomAccess(\*JSONFILE);
262
+ $raf = File::RandomAccess->new(\*JSONFILE);
263
263
  }
264
264
  my $obj = ReadJSONObject($raf);
265
265
  close JSONFILE if $openedFile;
@@ -14,7 +14,7 @@ use vars qw($VERSION);
14
14
  use Image::ExifTool qw(:DataAccess :Utils);
15
15
  use Image::ExifTool::Import;
16
16
 
17
- $VERSION = '1.06';
17
+ $VERSION = '1.07';
18
18
 
19
19
  sub ProcessJSON($$);
20
20
  sub ProcessTag($$$$%);
@@ -120,7 +120,7 @@ sub ProcessJSON($$)
120
120
  my $buff = substr(${$$dirInfo{DataPt}}, $$dirInfo{DirStart}, $$dirInfo{DirLen});
121
121
  $dataPt = \$buff;
122
122
  }
123
- $raf = new File::RandomAccess($dataPt);
123
+ $raf = File::RandomAccess->new($dataPt);
124
124
  # extract as a block if requested
125
125
  my $blockName = $$dirInfo{BlockInfo} ? $$dirInfo{BlockInfo}{Name} : '';
126
126
  my $blockExtract = $et->Options('BlockExtract');
@@ -16,7 +16,7 @@ use strict;
16
16
  use vars qw($VERSION);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
 
19
- $VERSION = '1.37';
19
+ $VERSION = '1.38';
20
20
 
21
21
  sub ProcessJpeg2000Box($$$);
22
22
  sub ProcessJUMD($$$);
@@ -1583,7 +1583,7 @@ sub ProcessJXL($$)
1583
1583
  $$et{IsJXL} = 2;
1584
1584
  my $buff = "\0\0\0\x0cJXL \x0d\x0a\x87\x0a\0\0\0\x14ftypjxl \0\0\0\0jxl ";
1585
1585
  # add metadata to empty ISO BMFF container
1586
- $$dirInfo{RAF} = new File::RandomAccess(\$buff);
1586
+ $$dirInfo{RAF} = File::RandomAccess->new(\$buff);
1587
1587
  } else {
1588
1588
  $et->SetFileType('JXL Codestream','image/jxl', 'jxl');
1589
1589
  if ($$et{ImageDataHash} and $raf->Seek(0,0)) {
@@ -14,7 +14,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
14
14
  use Image::ExifTool::Exif;
15
15
  use Image::ExifTool::GPS;
16
16
 
17
- $VERSION = '1.52';
17
+ $VERSION = '1.53';
18
18
 
19
19
  sub ProcessMIE($$);
20
20
  sub ProcessMIEGroup($$$);
@@ -1077,7 +1077,7 @@ sub WriteMIEGroup($$$)
1077
1077
  $newVal = '';
1078
1078
  %subdirInfo = (
1079
1079
  OutFile => \$newVal,
1080
- RAF => new File::RandomAccess(\$oldVal),
1080
+ RAF => File::RandomAccess(\$oldVal)->new,
1081
1081
  );
1082
1082
  } elsif ($optCompress and not $$dirInfo{IsCompressed}) {
1083
1083
  # write to memory so we can compress the new MIE group
@@ -1585,7 +1585,7 @@ sub ProcessMIEGroup($$$)
1585
1585
  WasCompressed => $wasCompressed,
1586
1586
  );
1587
1587
  # read from uncompressed data instead if necessary
1588
- $subdirInfo{RAF} = new File::RandomAccess(\$value) if $valLen;
1588
+ $subdirInfo{RAF} = File::RandomAccess(\$value)->new if $valLen;
1589
1589
 
1590
1590
  my $oldOrder = GetByteOrder();
1591
1591
  SetByteOrder($format & 0x08 ? 'II' : 'MM');
@@ -17,7 +17,7 @@ use vars qw($VERSION);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
  use Image::ExifTool::Minolta;
19
19
 
20
- $VERSION = '1.19';
20
+ $VERSION = '1.20';
21
21
 
22
22
  sub ProcessMRW($$;$);
23
23
  sub WriteMRW($$;$);
@@ -400,7 +400,7 @@ sub ProcessMRW($$;$)
400
400
 
401
401
  if ($$dirInfo{DataPt}) {
402
402
  # make a RAF object for MRW information extracted from other file types
403
- $raf = new File::RandomAccess($$dirInfo{DataPt});
403
+ $raf = File::RandomAccess->new($$dirInfo{DataPt});
404
404
  # MRW information in DNG images may not start at beginning of data block
405
405
  $raf->Seek($$dirInfo{DirStart}, 0) if $$dirInfo{DirStart};
406
406
  }
@@ -65,7 +65,7 @@ use Image::ExifTool::Exif;
65
65
  use Image::ExifTool::GPS;
66
66
  use Image::ExifTool::XMP;
67
67
 
68
- $VERSION = '4.29';
68
+ $VERSION = '4.30';
69
69
 
70
70
  sub LensIDConv($$$);
71
71
  sub ProcessNikonAVI($$$);
@@ -677,6 +677,7 @@ sub GetAFPointGrid($$;$);
677
677
  '71 48 64 64 24 24 00 00' => 'Voigtlander APO-Skopar 90mm F2.8 SL IIs', #30
678
678
  'FD 00 50 50 18 18 DF 00' => 'Voigtlander APO-Lanthar 50mm F2 Aspherical', #35
679
679
  'FD 00 44 44 18 18 DF 00' => 'Voigtlander APO-Lanthar 35mm F2', #30
680
+ 'FD 00 59 59 18 18 DF 00' => 'Voigtlander Macro APO-Lanthar 65mm F2', #30
680
681
  #
681
682
  '00 40 2D 2D 2C 2C 00 00' => 'Carl Zeiss Distagon T* 3.5/18 ZF.2',
682
683
  '00 48 27 27 24 24 00 00' => 'Carl Zeiss Distagon T* 2.8/15 ZF.2', #MykytaKozlov
@@ -690,6 +691,7 @@ sub GetAFPointGrid($$;$);
690
691
  '00 54 62 62 0C 0C 00 00' => 'Carl Zeiss Planar T* 1.4/85 ZF.2',
691
692
  '00 54 68 68 18 18 00 00' => 'Carl Zeiss Makro-Planar T* 2/100 ZF.2',
692
693
  '00 54 72 72 18 18 00 00' => 'Carl Zeiss Apo Sonnar T* 2/135 ZF.2',
694
+ '02 54 3C 3C 0C 0C 00 00' => 'Zeiss Otus 1.4/28 ZF.2', #30
693
695
  '00 54 53 53 0C 0C 00 00' => 'Zeiss Otus 1.4/55', #IB
694
696
  '01 54 62 62 0C 0C 00 00' => 'Zeiss Otus 1.4/85',
695
697
  '03 54 68 68 0C 0C 00 00' => 'Zeiss Otus 1.4/100', #IB
@@ -9852,7 +9852,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
9852
9852
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
9853
9853
  87 => { # CSe2
9854
9854
  Name => 'FlashShutterSpeed',
9855
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
9855
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
9856
9856
  PrintConv => {
9857
9857
  0 => '1 s',
9858
9858
  1 => '1/2 s',
@@ -10242,7 +10242,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10242
10242
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
10243
10243
  87 => { # CSe2
10244
10244
  Name => 'FlashShutterSpeed',
10245
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
10245
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
10246
10246
  PrintConv => {
10247
10247
  0 => '1 s',
10248
10248
  1 => '1/2 s',
@@ -10652,7 +10652,7 @@ my %noYes = ( 0 => 'No', 1 => 'Yes' );
10652
10652
  85 => { Name => 'HighSpeedSync', PrintConv => \%offOn }, # CSe1-b
10653
10653
  87 => { # CSe2
10654
10654
  Name => 'FlashShutterSpeed',
10655
- ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accomodate 4 new values?
10655
+ ValueConv => 'my $t = ($val - 16) % 24; $t ? $val / 24 : 2 + ($val - 16) / 24', #unusual decode perhaps due to need to accommodate 4 new values?
10656
10656
  PrintConv => {
10657
10657
  0 => '1 s',
10658
10658
  1 => '1/2 s',
@@ -17,7 +17,7 @@ use strict;
17
17
  use vars qw($VERSION);
18
18
  use Image::ExifTool qw(:DataAccess :Utils);
19
19
 
20
- $VERSION = '1.02';
20
+ $VERSION = '1.03';
21
21
 
22
22
  my $MAX_PACKETS = 2; # maximum packets to scan from each stream at start of file
23
23
 
@@ -189,7 +189,7 @@ sub ProcessOGG($$)
189
189
  if (defined $numFlac and defined $val{$stream}) {
190
190
  # process FLAC headers as if it was a complete FLAC file
191
191
  require Image::ExifTool::FLAC;
192
- my %dirInfo = ( RAF => new File::RandomAccess(\$val{$stream}) );
192
+ my %dirInfo = ( RAF => File::RandomAccess->new(\$val{$stream}) );
193
193
  Image::ExifTool::FLAC::ProcessFLAC($et, \%dirInfo);
194
194
  }
195
195
  return $success;
@@ -21,7 +21,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
21
21
  use Image::ExifTool::XMP;
22
22
  use Image::ExifTool::GPS;
23
23
 
24
- $VERSION = '1.11';
24
+ $VERSION = '1.12';
25
25
 
26
26
  sub ExtractObject($$;$);
27
27
  sub Get24u($$);
@@ -351,9 +351,9 @@ sub ProcessBinaryPLIST($$;$)
351
351
  my $start = $$dirInfo{DirStart};
352
352
  if ($start or ($$dirInfo{DirLen} and $$dirInfo{DirLen} != length $$dataPt)) {
353
353
  my $buf2 = substr($$dataPt, $start || 0, $$dirInfo{DirLen});
354
- $$dirInfo{RAF} = new File::RandomAccess(\$buf2);
354
+ $$dirInfo{RAF} = File::RandomAccess->new(\$buf2);
355
355
  } else {
356
- $$dirInfo{RAF} = new File::RandomAccess($dataPt);
356
+ $$dirInfo{RAF} = File::RandomAccess->new($dataPt);
357
357
  }
358
358
  my $strt = $$dirInfo{DirStart} || 0;
359
359
  }
@@ -21,7 +21,7 @@ use vars qw($VERSION);
21
21
  use Image::ExifTool qw(:DataAccess :Utils);
22
22
  use Image::ExifTool::Exif;
23
23
 
24
- $VERSION = '1.28';
24
+ $VERSION = '1.29';
25
25
 
26
26
  sub ProcessJpgFromRaw($$$);
27
27
  sub WriteJpgFromRaw($$$);
@@ -839,7 +839,7 @@ sub WriteJpgFromRaw($$$)
839
839
  my $buff = substr($$dataPt, $dirStart, $dirLen);
840
840
  $dataPt = \$buff;
841
841
  }
842
- my $raf = new File::RandomAccess($dataPt);
842
+ my $raf = File::RandomAccess->new($dataPt);
843
843
  my $outbuff;
844
844
  my %dirInfo = (
845
845
  RAF => $raf,
@@ -890,7 +890,7 @@ sub ProcessJpgFromRaw($$$)
890
890
  # extract information from embedded JPEG
891
891
  my %dirInfo = (
892
892
  Parent => 'RAF',
893
- RAF => new File::RandomAccess($dataPt),
893
+ RAF => File::RandomAccess->new($dataPt),
894
894
  );
895
895
  if ($verbose) {
896
896
  my $indent = $$et{INDENT};
@@ -15,7 +15,7 @@ use vars qw($VERSION);
15
15
  use Image::ExifTool qw(:DataAccess :Utils);
16
16
  use Image::ExifTool::Exif;
17
17
 
18
- $VERSION = '1.09';
18
+ $VERSION = '1.10';
19
19
 
20
20
  sub WritePhaseOne($$$);
21
21
  sub ProcessPhaseOne($$$);
@@ -473,7 +473,7 @@ sub WritePhaseOne($$$)
473
473
  return undef if $numEntries < 2 or $numEntries > 300 or $ifdEnd > $dirLen;
474
474
  my $hdrBuff = $hdr;
475
475
  my $valBuff = ''; # buffer for value data
476
- my $fixup = new Image::ExifTool::Fixup;
476
+ my $fixup = Image::ExifTool::Fixup->new;
477
477
  my $index;
478
478
  for ($index=0; $index<$numEntries; ++$index) {
479
479
  my $entry = $dirStart + $ifdStart + 8 + $entrySize * $index;
@@ -28,7 +28,7 @@ use strict;
28
28
  use vars qw($VERSION $AUTOLOAD $iptcDigestInfo %printFlags);
29
29
  use Image::ExifTool qw(:DataAccess :Utils);
30
30
 
31
- $VERSION = '1.69';
31
+ $VERSION = '1.70';
32
32
 
33
33
  sub ProcessPhotoshop($$$);
34
34
  sub WritePhotoshop($$$);
@@ -70,7 +70,7 @@ my %thumbnailInfo = (
70
70
  Protected => 1,
71
71
  RawConv => 'my $img=substr($val,0x1c); $self->ValidateImage(\$img,$tag)',
72
72
  ValueConvInv => q{
73
- my $et = new Image::ExifTool;
73
+ my $et = Image::ExifTool->new;
74
74
  my @tags = qw{ImageWidth ImageHeight FileType};
75
75
  my $info = $et->ImageInfo(\$val, @tags);
76
76
  my ($w, $h, $type) = @$info{@tags};
@@ -892,7 +892,7 @@ sub ProcessDocumentData($$$)
892
892
  unless ($raf) {
893
893
  my $dataPt = $$dirInfo{DataPt};
894
894
  my $start = $$dirInfo{DirStart} || 0;
895
- $raf = new File::RandomAccess($dataPt);
895
+ $raf = File::RandomAccess->new($dataPt);
896
896
  $raf->Seek($start, 0) if $start;
897
897
  $dirLen = length $$dataPt - $start unless defined $dirLen;
898
898
  $et->VerboseDump($dataPt, Start => $start, Len => $dirLen, Base => $$dirInfo{Base});
@@ -16,7 +16,7 @@ use strict;
16
16
  use vars qw($VERSION $AUTOLOAD);
17
17
  use Image::ExifTool qw(:DataAccess :Utils);
18
18
 
19
- $VERSION = '1.44';
19
+ $VERSION = '1.45';
20
20
 
21
21
  sub WritePS($$);
22
22
  sub ProcessPS($$;$);
@@ -430,7 +430,7 @@ sub ProcessPS($$;$)
430
430
 
431
431
  # allow read from data
432
432
  unless ($raf) {
433
- $raf = new File::RandomAccess($$dirInfo{DataPt});
433
+ $raf = File::RandomAccess->new($$dirInfo{DataPt});
434
434
  $et->VerboseDir('PostScript');
435
435
  }
436
436
  #