4.2.12. iCCP Embedded ICC profile If the iCCP chunk is present, the image samples conform to the color space represented by the embedded International Color Consortium profile as defined by the ICC [ICC]. The color space must be an RGB color space for color images (color types 2, 3, and 6), or a monochrome greyscale color space for greyscale images (color types 0 and 4). The iCCP chunk contains: Profile name: 1-79 bytes (character string) Null separator: 1 byte Compression method: 1 byte Compressed profile: n bytes The format is like the zTXt chunk. The profile name can be any convenient name for referring to the profile, and is subject to the same restrictions as a tEXt keyword (printable Latin-1 characters and nonconsecutive noninitial nonfinal spaces). The only value presently defined for the compression method byte is 0, meaning zlib datastream with deflate compression. Decompression of the remainder of the chunk yields the ICC profile. An application that creates the iCCP chunk should also create gAMA and cHRM chunks that approximate the ICC profile's transfer function, for compatibility with applications that do not use the iCCP chunk. When the iCCP chunk is present, applications that recognize it and are capable of color management [ICC] should ignore the gAMA and cHRM chunks and use the iCCP chunk instead, but applications incapable of full-fledged color management should use the gAMA and cHRM chunks if present. A file should contain at most one embedded profile, whether explicit like iCCP or implicit like sRGB. If the iCCP chunk appears, it must precede the first IDAT chunk, and it must also precede the PLTE chunk if present.