diff options
Diffstat (limited to 'lib/Image/ExifTool/PNG.pm')
-rw-r--r-- | lib/Image/ExifTool/PNG.pm | 82 |
1 files changed, 80 insertions, 2 deletions
diff --git a/lib/Image/ExifTool/PNG.pm b/lib/Image/ExifTool/PNG.pm index 7daece47..1dfa63bf 100644 --- a/lib/Image/ExifTool/PNG.pm +++ b/lib/Image/ExifTool/PNG.pm @@ -36,7 +36,7 @@ use strict; use vars qw($VERSION $AUTOLOAD %stdCase); use Image::ExifTool qw(:DataAccess :Utils); -$VERSION = '1.61'; +$VERSION = '1.62'; sub ProcessPNG_tEXt($$$); sub ProcessPNG_iTXt($$$); @@ -343,7 +343,12 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND = Name => 'JUMBF', SubDirectory => { TagTable => 'Image::ExifTool::Jpeg2000::Main' }, }, - # cICP - Coding-independent code points (added in 2022 specification) + cICP => { + Name => 'CICodePoints', + SubDirectory => { + TagTable => 'Image::ExifTool::PNG::CICodePoints', + }, + }, ); # PNG IHDR chunk @@ -428,6 +433,79 @@ my %noLeapFrog = ( SAVE => 1, SEEK => 1, IHDR => 1, JHDR => 1, IEND => 1, MEND = }, ); +# PNG cICP chunk +%Image::ExifTool::PNG::CICodePoints = ( + PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData, + GROUPS => { 1 => 'PNG-cICP', 2 => 'Image' }, + NOTES => q{ + These tags are found in the PNG cICP chunk and belong to the PNG-cICP family + 1 group. + }, + # (same as tags in QuickTime::ColorRep) + 0 => { + Name => 'ColorPrimaries', + PrintConv => { + 1 => 'BT.709', + 2 => 'Unspecified', + 4 => 'BT.470 System M (historical)', + 5 => 'BT.470 System B, G (historical)', + 6 => 'BT.601', + 7 => 'SMPTE 240', + 8 => 'Generic film (color filters using illuminant C)', + 9 => 'BT.2020, BT.2100', + 10 => 'SMPTE 428 (CIE 1921 XYZ)', + 11 => 'SMPTE RP 431-2', + 12 => 'SMPTE EG 432-1', + 22 => 'EBU Tech. 3213-E', + }, + }, + 1 => { + Name => 'TransferCharacteristics', + PrintConv => { + 0 => 'For future use (0)', + 1 => 'BT.709', + 2 => 'Unspecified', + 3 => 'For future use (3)', + 4 => 'BT.470 System M (historical)', + 5 => 'BT.470 System B, G (historical)', + 6 => 'BT.601', + 7 => 'SMPTE 240 M', + 8 => 'Linear', + 9 => 'Logarithmic (100 : 1 range)', + 10 => 'Logarithmic (100 * Sqrt(10) : 1 range)', + 11 => 'IEC 61966-2-4', + 12 => 'BT.1361', + 13 => 'sRGB or sYCC', + 14 => 'BT.2020 10-bit systems', + 15 => 'BT.2020 12-bit systems', + 16 => 'SMPTE ST 2084, ITU BT.2100 PQ', + 17 => 'SMPTE ST 428', + 18 => 'BT.2100 HLG, ARIB STD-B67', + }, + }, + 2 => { + Name => 'MatrixCoefficients', + PrintConv => { + 0 => 'Identity matrix', + 1 => 'BT.709', + 2 => 'Unspecified', + 3 => 'For future use (3)', + 4 => 'US FCC 73.628', + 5 => 'BT.470 System B, G (historical)', + 6 => 'BT.601', + 7 => 'SMPTE 240 M', + 8 => 'YCgCo', + 9 => 'BT.2020 non-constant luminance, BT.2100 YCbCr', + 10 => 'BT.2020 constant luminance', + 11 => 'SMPTE ST 2085 YDzDx', + 12 => 'Chromaticity-derived non-constant luminance', + 13 => 'Chromaticity-derived constant luminance', + 14 => 'BT.2100 ICtCp', + }, + }, + 3 => 'VideoFullRangeFlag', +); + # PNG sCAL chunk %Image::ExifTool::PNG::SubjectScale = ( PROCESS_PROC => \&Image::ExifTool::ProcessBinaryData, |