Project

General

Profile

Feature #756

Access to ICC Profile (TAG: 0x8773) data in Exif as uninterpretted binary

Added by Ray NA almost 11 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
metadata
Target version:
Start date:
04 Feb 2011
Due date:
% Done:

100%

Estimated time:

Description

Reference to: http://dev.exiv2.org/boards/3/topics/794

Embedded ICC profiles (TIFF TAG: 0x8773) can be found in the IFD0 (see attached Nikon NEF) or in JPEG APP2 areas.

Request for access to the embedded raw data; Exiv2 i/f needs only provide access - interpretation will do done elsewhere by SampleICC API for example.

Attachments:

1x Nikon NEF (processed by Nikon Capture NX2 2.2.5)
1x exiftool decode of NEF, showing ICC in IFD0

1x JPEG, generated from Nikon NEF using Capture NX2 2.2.5
1x exiftool decode of jpeg, showing ICC in JPEG APP2


Files

DSC-IFD0_ICCprofile.NEF (7.73 MB) DSC-IFD0_ICCprofile.NEF Nikon NEF (processed by Nikon Capture NX2 2.2.5) Ray NA, 04 Feb 2011 15:05
nef.txt (71.8 KB) nef.txt exiftool decode of NEF, showing ICC in IFD0 Ray NA, 04 Feb 2011 15:05
DSC-IFD0_ICCprofile.jpg (1.55 MB) DSC-IFD0_ICCprofile.jpg JPEG, generated from Nikon NEF using Capture NX2 2.2.5 Ray NA, 04 Feb 2011 15:05
jpg.txt (39.2 KB) jpg.txt exiftool decode of jpeg, showing ICC in JPEG APP2 Ray NA, 04 Feb 2011 15:05

Related issues

Related to Exiv2 - Patch #676: Patch for reading ICC color profilesClosed26 Jan 2010

Actions
Related to Exiv2 - Feature #1074: ICC Profile in APP2 segment.Closed07 May 2015

Actions

History

#1

Updated by Andreas Huggel about 10 years ago

  • Target version deleted (0.22)
#2

Updated by Robin Mills over 8 years ago

  • Category set to metadata
  • Status changed from New to Assigned
  • Target version set to 0.25

Deferred to 0.25.

#3

Updated by Robin Mills over 6 years ago

This looks like an easy one now that we have -pS to dump structure and -pX option to dump XMP. I could easily add -pI to say extract ICC profile.

$ exiv2 -pS ~/Downloads/DSC-IFD0_ICCprofile.jpg
STRUCTURE OF JPEG FILE: /Users/rmills/Downloads/DSC-IFD0_ICCprofile.jpg
 address | marker     | length  | data
       2 | 0xd8 SOI  
       4 | 0xe0 APP0  |      16 | JFIF.....,.,..
      22 | 0xe1 APP1  |   39577 | Exif..II*.....................
   39601 | 0xe2 APP2  |    8700 | ICC_PROFILE.....!.NKON. ..mntr
   48303 | 0xdb DQT   |     132 
   48437 | 0xc4 DHT   |     232 
   48671 | 0xc0 SOF0  |      17 
   48690 | 0xda SOS   |      12 
$ exiv2 -pS ~/Downloads/DSC-IFD0_ICCprofile.NEF
STRUCTURE OF TIFF FILE: /Users/rmills/Downloads/DSC-IFD0_ICCprofile.NEF
 address |    tag                      |      type |    count |   offset | value
      10 | 0x00fe NewSubfileType       |      LONG |        1 |        1 | 1
      22 | 0x0100 ImageWidth           |      LONG |        1 |      320 | 320
      34 | 0x0101 ImageLength          |      LONG |        1 |      212 | 212
      46 | 0x0102 BitsPerSample        |     SHORT |        3 |      314 | 
      58 | 0x0103 Compression          |     SHORT |        1 |        1 | 1
      70 | 0x0106 PhotometricInterpret |     SHORT |        1 |        2 | 2
      82 | 0x010f Make                 |     ASCII |       18 |      320 | NIKON CORPORATION.
      94 | 0x0110 Model                |     ASCII |       10 |      338 | NIKON D40.
     106 | 0x0111 StripOffsets         |      LONG |        1 |    44800 | 44800
     118 | 0x0112 Orientation          |     SHORT |        1 |        1 | 1
     130 | 0x0115 SamplesPerPixel      |     SHORT |        1 |        3 | 3
     142 | 0x0116 RowsPerStrip         |      LONG |        1 |      212 | 212
     154 | 0x0117 StripByteCounts      |      LONG |        1 |   203520 | 6912
     166 | 0x011a XResolution          |  RATIONAL |        1 |      348 | 
     178 | 0x011b YResolution          |  RATIONAL |        1 |      356 | 
     190 | 0x011c PlanarConfiguration  |     SHORT |        1 |        1 | 1
     202 | 0x0128 ResolutionUnit       |     SHORT |        1 |        2 | 2
     214 | 0x0131 Software             |     ASCII |       19 |      364 | Capture NX 2.2.5 W.
     226 | 0x0132 DateTime             |     ASCII |       20 |      384 | 2011:02:04 22:48:55.
     238 | 0x014a SubIFDs              |      LONG |        2 |      404 | 
     250 | 0x0214 ReferenceBlackWhite  |  RATIONAL |        6 |      412 | 
     262 | 0x8769 ExifTag              |      LONG |        1 |     9164 | 9164
     274 | 0x8773 InterColorProfile    | UNDEFINED |     8684 |      460 | 
     286 | 0x9003 DateTimeOriginal     |     ASCII |       20 |     9144 | 2011:02:04 22:46:11.
     298 | 0x9216 TIFFEPStandardID     |      BYTE |        4 |        1 | I*..
$ 
On the other hand, I'm wondering if this is our concern. A color profile isn't really metadata. Once we have a feature to extract the profile, somebody will ask us to be able to insert it. Or even worse, to be able to edit the data within the profile. We are really adding a fourth type of metadata. So we will be supporting Exif, Iptc, Xmp and now Icc.

It's possible to write a little script to read the output of exiv2 -pS and extract the profile with dd. There's an example of extracting XMP with dd in this document: http://dev.exiv2.org/projects/exiv2/wiki/The_Metadata_in_TIFF_files

I feel we should set this to Resolved and decline to implement this.

#4

Updated by Alan Pater over 6 years ago

  • Target version changed from 0.25 to 0.26
#5

Updated by Robin Mills about 6 years ago

  • Status changed from Assigned to Closed
  • Assignee changed from Andreas Huggel to Robin Mills

I'm going to close this issue. However it remains linked to #1074 which is active. The test files provided here will be useful when #1074 is implemented.

#6

Updated by Robin Mills about 6 years ago

  • % Done changed from 0 to 100

Also available in: Atom PDF