[poppler] XYZ white point correction patch

Albert Astals Cid aacid at kde.org
Mon Aug 17 13:46:42 PDT 2009


A Dimarts, 14 de juliol de 2009, Hal V. Engel va escriure:
> On Monday 13 July 2009 02:51:30 pm Albert Astals Cid wrote:
> > Hal?
> >
> > Albert
>
> Albert,
>
> If you are asking if I think the last version of the white point correction
> patch that I sent in is good then the answer is yes.  It affects the output
> and with the patch (using a good display profile) the results in the Altona
> test PDF are correct (IE. both parts of the test areas match).  The patch
> is also to the PDF spec. as far as I can tell.  I have also been using it
> on my system for some time now without issues.

Can you please attach two images of the Altone test PDF with and without the 
patch, because really really really i don't see any difference with and 
without the patch.

Albert

>
> Hal
>
> > A Dimarts, 23 de juny de 2009, Albert Astals Cid va escriure:
> > > A Dissabte, 23 de maig de 2009, Hal V. Engel va escriure:
> > > > On Saturday 23 May 2009 02:55:29 am Albert Astals Cid wrote:
> > > > > > According to the PDF spec. the Y white point value should always
> > > > > > be 1.0. So it might be possible to just do the correction to X
> > > > > > and Z since this would make the code slightly more efficient. 
> > > > > > Also I now think it would be better to do this in
> > > > > > GfxCalGrayColorSpace::getXYZ() and GfxLabColorSpace::setXYZ()
> > > > > > instead of in the locations right after calls to these functions.
> > > > >
> > > > > When i mean no difference i mean "diff" says the files are exactly
> > > > > the same, not that i'm not able to see a difference in them.
> > > > >
> > > > > May it be because i'm not using any color profile?
> > > > >
> > > > > Albert
> > > >
> > > > It could be but the current code base defaults to sRGB as the output
> > > > profile if one is not specified by the calling app.  So if poppler
> > > > was built using USE_CMS then by default it should be using sRGB as
> > > > the output color space for CIELab, Cal* and ICC objects.
> > > >
> > > > To confirm that you are using a profile you might consider modifying
> > > > your code so that it explicitly sets the output profile by calling
> > > > setOutputProfileName() or setOutputProfile() before opening the
> > > > document. For additional testing I am attaching a profile intended
> > > > for testing that causes the colors to be transformed in a way that is
> > > > unmistakable because it transforms blues into reds and reds into
> > > > blues. Using this profile it should be easy to confirm that your code
> > > > is actually using an output profile and also which parts of the
> > > > rendered output are using the output profile.
> > > >
> > > > No matter what output profile is being used there should be at least
> > > > some difference in the resulting RGB values of CIELab and CalGray
> > > > objects if the white point of the object is NOT X = Y = Z = 1.0.  I
> > > > have placed printf() statements in the code to confirm that this is
> > > > altering the XYZ values of the CIELab objects in the altona pdf and
> > > > it is.  I have also confirmed through testing that this makes a
> > > > visible difference in the rendered output at least if the white point
> > > > is significantly different from X = Y =Z = 1.0.
> > > >
> > > > Also I cleaned up the white point code so that the white point
> > > > correction is now taking place in the getXYZ() functions which is
> > > > where is really belongs. I have attached a patch with this set of
> > > > changes.
> > >
> > > Ok, i've tested the patch and yes, i need to load a displayProfile,
> > > otherwise it seems to do nothing, the problem is that the differences i
> > > see are so minor i can't say if it is correct with the patch or without
> > > it.
> > >
> > > Do you have other PDF that shows a more visible difference?
> > >
> > > Koji is that inside your area of expertice and can say yay/nay to the
> > > patch?
> > >
> > > Anyone else?
> > >
> > > Albert
> > >
> > > > Hal
> > >
> > > _______________________________________________
> > > poppler mailing list
> > > poppler at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/poppler
>
> _______________________________________________
> poppler mailing list
> poppler at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/poppler



More information about the poppler mailing list