[Openicc] 0.9.0 release of IccXML

Max Derhak max.derhak at onyxgfx.com
Mon Sep 13 14:34:07 PDT 2010


Two points...

1. When IccToXML is used the MD5checksum field is simply populated with
the contents of the MD5 checksum values that were in the profile header.
When IccFromXML is called, having a non-zero checksum value in the XML
forces the recalculation of the MD5 checksum after the profile is
created (IE: The value in the XML is used as a Boolean flag for MD5
checksum generation).

2. It would be ideal to have the profile round trip, and for the most
part it does.  However, there exist some circumstances where differences
can arise due to data referencing within a profile. For example: Tag
data doesn't need to be stored in the same order as tag entries in the
tag dictionary, and multiple tag directory entries can reference the
same tag data.  These relationships are possible using offset pointers
in the ICC specification, but it often becomes difficult to always
represent these relationships as XML.  

The case of multiple tags entries referencing the same tag data is
represented in XML by allowing the tag data blocks to have multiple tag
signatures.  However, there are other places where this doesn't make
sense, and data will be duplicated when it is converted to XML.  The
re-created profile will then result in functionally identical but with
duplicate data in those cases.  Generally, this data sharing isn't done,
but it is supported by the ICC profile format.

The expected behavior of the IccToXML code should be a conversion that
represents a functionally equivalent data structure (if not exactly
identical).

In many cases though, I have found that a round trip through IccToXML
and IccFromXML (with no edit of the XML) result in a binary equivalent
file (even with MD5 checksum generation being performed).

Max Derhak
Senior Software Architect
max.derhak at onyxgfx.com

-----Original Message-----
From: openicc-bounces+max.derhak=onyxgfx.com at lists.freedesktop.org
[mailto:openicc-bounces+max.derhak=onyxgfx.com at lists.freedesktop.org] On
Behalf Of Kai-Uwe Behrmann
Sent: Monday, September 13, 2010 2:34 PM
To: Chris Murphy
Cc: openicc Liste
Subject: Re: [Openicc] 0.9.0 release of IccXML

Am 13.09.10, 12:19 -0600 schrieb Chris Murphy:
> I was just thinking, in case it's not obvious, that the MD5 checksum
should probably be stripped when converting from ICC profile format
(binary), to the XML variant. And then when converted back to ICC
profile format, the MD5 needs to be recomputed from scratch.
>
> Yes?
>
> Chris Murphy

Ideally it would perfectly round trip. So a md5 hash could remain as is
in 
case of no XML edit. After editing of a XML profile, the binary profile 
needs of course to get "fixed".

I think it would as well make sense development wise. The round trip of 
various ICC profiles would be a nice test case to check the basic
implementation.


kind regards
Kai-Uwe Behrmann
-- 
developing for colour management 
www.behrmann.name + www.oyranos.org
_______________________________________________
openicc mailing list
openicc at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/openicc




More information about the openicc mailing list