[Openicc] [Oyranos-devel] [ANNOUNCE] OpenICC Data package 1.2.0

Kai-Uwe Behrmann ku.b at gmx.de
Sat May 28 02:31:18 PDT 2011

Am 28.05.11, 09:57 +0100 schrieb Richard Hughes:
> On 28 May 2011 08:51, Kai-Uwe Behrmann <ku.b at gmx.de> wrote:
>> The 1.2.0 is a maintenance release. ICC profile data has partitial changed
>> to cover the internal ICC hash. The hash does not alter standard ICC
>> identification or colorimetric data. To colour management software the
>> profiles appear to be the same as in the previous release.

Thanks for keeping the citation working :-)

> Except, that's not true, is it:
> $ md5sum openicc-data-1.1.0/default_profiles/base/sRGB.icc
> openicc-data-1.2.0/default_profiles/base/sRGB.icc
> 7fb30d688bf82d32a0e748daf3dba95d
> openicc-data-1.1.0/default_profiles/base/sRGB.icc
> 41d4fe2a90ed08fc1c48e4ad588075b7
> openicc-data-1.2.0/default_profiles/base/sRGB.icc

Above the plain command line md5sum is used. For the ICC profile hash sum 
a tool like oymd5icc is needed.

oymd5icc openicc-data-1.0.0/default_profiles/base/sRGB.icc
7fb30d688bf82d32a0e748daf3dba95d[0000] openicc-data-1.0.0/default_profiles/base/sRGB.icc

oymd5icc openicc-data-1.2.0/default_profiles/base/sRGB.icc
7fb30d688bf82d32a0e748daf3dba95d[7fb30d688bf82d32a0e748daf3dba95d] openicc-data-1.2.0/default_profiles/base/sRGB.icc

> In short, I can't believe what you've done here. Last august you
> blasted me with comments like:
> ---
> I understand your intention for making a coherent set. However
> silently ignoring the intention of the profile authors is inadequate
> to reach that goal. The canonical way is to keep the profiles hash as
> is or fork which is allowed with all those profiles.
> ...
> These profiles have uncertain sources and are altered without notion,
> they are not a solid reference for compositing and exchange.
> ---

Sorry, if that was not explicitely enough about the profiles hash. The ICC 
hash is described here:

7.2.18 Profile ID field (Bytes 84 to 99)

This field should be used to record a checksum value which, if used, shall 
be generated using the MD5 fingerprinting method as defined in Internet 
RFC 1321. The entire profile, based on the size field in the header, shall 
be used to calculate the ID after the values in the Profile Flags field 
(bytes 44 to 47 - see 7.2.11), Rendering intent field (Bytes 64 to 67 - 
see 7.2.15) and Profile ID field (Bytes 84 to 99 - see 7.2.18 ) in the 
profile header have been temporarily replaced with zeros. If a profile ID 
has not been calculated the value of the field shall be set to zero.
It is strongly recommended that profile creators compute and record a 
profile ID.

Thats why a ICC has ID can be added without breaking a internal checksum.
The md5sum utility, which in contrary applies to the whole 
file, is incompatible with ICC software.

> So, I see you've added the all the profile IDs to the icc files
> included in your package. I'm guessing you've used the idea from
> colord and shared-color-profiles to increase the I/O performance at
> cold start, given the change hit Oyranos a few days after hitting
> colord.

Indeed, I wanted to meet colord requirements with the OpenICC-data 
profiles, while maintaining integrity with existing used profiles.
(Not shure if Oyranos performance does benefit from that change.)

> But in adding the profile ids, you've altered all the file MD5
> checksums that you care so much about, and destroyed your argument
> that fixing the case of the profiles to make the GUI not suck is
> unacceptable as it changes the file checksum.
> So please, can you clarify. Is the file checksum hash allowed to
> change in your packages? Because if they are, you might as well fix
> the casing and grammar in some of the profiles, and then you're
> shipping the exact same files as me already as in
> shared-color-profiles. If they are not allowed to change, then you
> need to revert the profile-id you've just added and go back to
> shipping the old icc files.
> I'm pretty sure you can't argue it both ways.

I hope to helped dissipate any doubts.

Kai-Uwe Behrmann
developing for colour management 
www.behrmann.name + www.oyranos.org

More information about the openicc mailing list