Skip to content

Add default-intent ICC rendering intent #3475

@jcupitt

Description

@jcupitt

Profiles can optionally include a tag saying which intent they recommend. Using (this profile)[http://www.ifra.com/WebSite/ifra.nsf/html/CONT_ISO_DOWNLOADS] I see:

$ exiftool ~/pics/ISOnewspaper26v4.icc   
ExifTool Version Number         : 12.56
File Name                       : ISOnewspaper26v4.icc
Directory                       : /home/john/pics
File Size                       : 719 kB
File Modification Date/Time     : 2004:06:30 14:06:30+01:00
File Access Date/Time           : 2023:05:01 13:24:35+01:00
File Inode Change Date/Time     : 2023:05:01 13:21:56+01:00
File Permissions                : -rw-rw-r--
File Type                       : ICC
File Type Extension             : icc
MIME Type                       : application/vnd.iccprofile
Profile CMM Type                : Apple Computer Inc.
Profile Version                 : 2.4.0
Profile Class                   : Output Device Profile
Color Space Data                : CMYK
Profile Connection Space        : Lab
Profile Date Time               : 2004:06:28 20:53:23
Profile File Signature          : acsp
Primary Platform                : Apple Computer Inc.
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : Unknown (    )
Device Model                    : 
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : Unknown (LOGO)
Profile ID                      : 0
Profile Copyright               : Copyright by LOGO GmbH, Steinfurt
Chromatic Adaptation            : 1 0 0 0 1 0 0 0 1
Media White Point               : 0.6442 0.664 0.50038
Gray Tone Reproduction Curve    : (Binary data 1034 bytes, use -b option to extract)
A To B0                         : (Binary data 95052 bytes, use -b option to extract)
A To B1                         : (Binary data 95052 bytes, use -b option to extract)
A To B2                         : (Binary data 95052 bytes, use -b option to extract)
B To A0                         : (Binary data 132248 bytes, use -b option to extract)
B To A1                         : (Binary data 132248 bytes, use -b option to extract)
B To A2                         : (Binary data 132248 bytes, use -b option to extract)
Gamut                           : (Binary data 35414 bytes, use -b option to extract)
Profile Description             : ISOnewspaper26v4

(Rendering Intent in the above listing)

libvips does not support this in an easy way at the moment. The LCMS API is:

        cmsUInt32Number intent = cmsGetHeaderRenderingIntent( profile );

We could add a new VipsIntent, perhaps VIPS_INTENT_DEFAULT, meaning "use the intent recommended by the profile, if any, otherwise use relative".

Reporting discussion: #3474

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions