[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    [OpenJDK 2D-Dev] JTreg colour management tests, etc
From:       aph () redhat ! com (Andrew Haley)
Date:       2009-10-09 16:50:35
Message-ID: 4ACF69DB.8050808 () redhat ! com
[Download RAW message or body]

This is a heads up.

I've been looking at the failing CMM jtreg tests, and I think I have a
solution.

The problems are:

1.  Some incorrect "golden" images: these have errors, presumably
caused by bugs in whatever CMM was used to create them.

2.  In the case of PYCC, some of the entries in the golden image
correspond to colours that are impossible.  I don't mean just out of
gamut, I mean colours that correspond to no possible stimulus.  This
leads to somewhat unpredictable results with any CMS, since these
non-colours are not representable in the profile connection space.

I've created a GoldenImageFactory class that generates golden images
for testing by using high accuracy floating-point arithmetic.  This
means that the tests are independent of the CMM being used.

With regard to the PYCC tests, I think it doesn't make any sense for
large parts of the test image to contain colours that could never
occur in any PYCC file, so I have adjusted the tests only to contain
possible colours.

I've also noticed that the PYCC profile I provided causes clipping in
highlights when converting PYCC images made by the profile in the
proprietary JDK 6.  I've solved this by creating a new PYCC profile
with a lower L value for PYCC's 100% white and a soft knee in the
gamma curve, as recommended in Kodak PCD 042, retrieved from
http://www.kodak.com/global/en/professional/products/storage/pcd/techInfo/pcd-042.jhtml. \
This gives good visual results for conversions.

A related problem with the PYCC profile I provided is that it was
limited to the sRGB colour space.  This new profile uses Lab as its
profile connection space, and is well-defined over that whole space.

I'll submit a webrev when I'm done.

Andrew.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic