exiftool-vendored.pl 12.39.0 → 12.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
40
40
  use Image::ExifTool::Exif;
41
41
  use Image::ExifTool::APP12;
42
42
 
43
- $VERSION = '2.75';
43
+ $VERSION = '2.76';
44
44
 
45
45
  sub PrintLensInfo($$$);
46
46
 
@@ -3430,7 +3430,7 @@ my %indexInfo = (
3430
3430
  0x2a => {
3431
3431
  Name => 'FNumber',
3432
3432
  Format => 'rational64u',
3433
- PrintConv => 'sprintf("%.1f",$val)',
3433
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3434
3434
  },
3435
3435
  0x32 => { #(NC)
3436
3436
  Name => 'ExposureCompensation',
@@ -3476,7 +3476,7 @@ my %indexInfo = (
3476
3476
  0x3a => {
3477
3477
  Name => 'FNumber',
3478
3478
  Format => 'rational64u',
3479
- PrintConv => 'sprintf("%.1f",$val)',
3479
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3480
3480
  },
3481
3481
  0x42 => { #(NC)
3482
3482
  Name => 'ExposureCompensation',
@@ -3527,7 +3527,7 @@ my %indexInfo = (
3527
3527
  0x28 => {
3528
3528
  Name => 'FNumber',
3529
3529
  Format => 'rational64u',
3530
- PrintConv => 'sprintf("%.1f",$val)',
3530
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3531
3531
  },
3532
3532
  0x30 => { #(NC)
3533
3533
  Name => 'ExposureCompensation',
@@ -3744,7 +3744,7 @@ my %indexInfo = (
3744
3744
  0x5a => {
3745
3745
  Name => 'FNumber',
3746
3746
  Format => 'rational64u',
3747
- PrintConv => 'sprintf("%.1f",$val)',
3747
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3748
3748
  },
3749
3749
  0x7f => {
3750
3750
  Name => 'DateTimeOriginal', #(NC)
@@ -3789,7 +3789,7 @@ my %indexInfo = (
3789
3789
  0x5e => {
3790
3790
  Name => 'FNumber',
3791
3791
  Format => 'rational64u',
3792
- PrintConv => 'sprintf("%.1f",$val)',
3792
+ PrintConv => 'Image::ExifTool::Exif::PrintFNumber($val)',
3793
3793
  },
3794
3794
  0x83 => {
3795
3795
  Name => 'DateTime1',
@@ -47,7 +47,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
47
47
  use Image::ExifTool::Exif;
48
48
  use Image::ExifTool::GPS;
49
49
 
50
- $VERSION = '2.73';
50
+ $VERSION = '2.74';
51
51
 
52
52
  sub ProcessMOV($$;$);
53
53
  sub ProcessKeys($$$);
@@ -8795,16 +8795,20 @@ sub ProcessSampleDesc($$$)
8795
8795
 
8796
8796
  my $num = Get32u($dataPt, 4); # get number of sample entries in table
8797
8797
  $pos += 8;
8798
- my $i;
8798
+ my ($i, $err);
8799
8799
  for ($i=0; $i<$num; ++$i) { # loop through sample entries
8800
- last if $pos + 8 > $dirLen;
8800
+ $pos + 8 > $dirLen and $err = 1, last;
8801
8801
  my $size = Get32u($dataPt, $pos);
8802
- last if $pos + $size > $dirLen;
8802
+ $pos + $size > $dirLen and $err = 1, last;
8803
8803
  $$dirInfo{DirStart} = $pos;
8804
8804
  $$dirInfo{DirLen} = $size;
8805
8805
  ProcessHybrid($et, $dirInfo, $tagTablePtr);
8806
8806
  $pos += $size;
8807
8807
  }
8808
+ if ($err and $$et{HandlerType}) {
8809
+ my $grp = $$et{SET_GROUP1} || $$dirInfo{Parent} || 'unknown';
8810
+ $et->Warn("Truncated $$et{HandlerType} sample table for $grp");
8811
+ }
8808
8812
  return 1;
8809
8813
  }
8810
8814
 
@@ -22,7 +22,7 @@ use vars qw($VERSION %samsungLensTypes);
22
22
  use Image::ExifTool qw(:DataAccess :Utils);
23
23
  use Image::ExifTool::Exif;
24
24
 
25
- $VERSION = '1.50';
25
+ $VERSION = '1.51';
26
26
 
27
27
  sub WriteSTMN($$$);
28
28
  sub ProcessINFO($$$);
@@ -454,6 +454,8 @@ my %formatMinMax = (
454
454
  0xa018 => { #1
455
455
  Name => 'ExposureTime',
456
456
  Writable => 'rational64u',
457
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
458
+ ValueConvInv => '$val',
457
459
  PrintConv => 'Image::ExifTool::Exif::PrintExposureTime($val)',
458
460
  PrintConvInv => '$val',
459
461
  },
@@ -461,6 +463,8 @@ my %formatMinMax = (
461
463
  Name => 'FNumber',
462
464
  Priority => 0,
463
465
  Writable => 'rational64u',
466
+ ValueConv => '$val=~s/ .*//; $val', # some models write 2 values here
467
+ ValueConvInv => '$val',
464
468
  PrintConv => 'sprintf("%.1f",$val)',
465
469
  PrintConvInv => '$val',
466
470
  },
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.48';
37
+ $VERSION = '3.49';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -273,7 +273,11 @@ sub PrintInvLensSpec($;$$);
273
273
  51510 => 'Samyang AF 18mm F2.8 or Samyang AF 35mm F1.8', #JR
274
274
  51510.1 => 'Samyang AF 35mm F1.8', #JR
275
275
  51512 => 'Samyang AF 75mm F1.8', #IB/JR
276
+ 51513 => 'Samyang AF 35mm F1.8', #JR
276
277
  51514 => 'Samyang AF 24mm F1.8', #IB
278
+ 51515 => 'Samyang AF 12mm F2.0', #JR
279
+ 51516 => 'Samyang AF 24-70mm F2.8', #JR
280
+ 51517 => 'Samyang AF 50mm F1.4 II', #JR
277
281
  );
278
282
 
279
283
  # ExposureProgram values (ref PH, mainly decoded from A200)