Re: [Gimp-developer] Displaying linear gamma images (Was Re: Update on my Gimp color management coding efforts)

2013-09-11 Thread Jon Nordby
On 10 September 2013 17:15, Elle Stone l.elle.st...@gmail.com wrote:
 On 11/12/12, Elle Stone l.elle.st...@gmail.com wrote:
 On 11/10/12, Michael Natterer mi...@gimp.org wrote:
 On Sat, 2012-11-10 at 15:17 -0500, Elle Stone wrote:
 On 11/8/12, Jon Nordby jono...@gmail.com wrote:
  * Change the lcms-based conversion (modules/display-filter-lcms.c)
  from being a generic display filter to be something that takes a
  GeglBuffer in and blits into a cairo_surface_t.
  * Change the display filter interface to accept a GeglBuffer instead
  of a cairo_surface_t. As gimp_color_display_convert_surface is public
  API, it should probably become a stub and be marked as deprecated. New
  interface could for instance be called
  gimp_color_display_convert_buffer
  * Adapt all the display filter operations (modules/display-filter-*.c)
  to the new interface and to working on 32bit floating point. If any of
  the operations are no longer useful, now would be the time to drop
  them.
  * In the use of the display filter stack (in
  gimp_display_shell_render), first let the filter stack operate on the
  GeglBuffer from the projection (or possibly a copy), and then pass it
  to the lcms-based color conversion, and then pass that to cairo.
 I'm looking forward to taking another look at the monitor display code
 path. Your suggestions sound very helpful.

 It does, but it's clearly step 2 (or step n). IMO we should first
 get the lcms plug-in right so the data GIMP is dealing with is
 correct in the first place.


Hi Elle,
nice to see this picked up again!

 Step 1 happened a long time ago. I'm trying to implement Jon Norby's
 suggestions because it would be nice to see a linear gamma image
 displayed without posterization in the shadows from the conversion to
 8-bits that happens before the conversion to the monitor profile.
 Quoting Jon's suggestion:

 (1)call a GeglBuffer from the projection (or possibly a copy) and then
 (2)pass it to the lcms-based color conversion, and then
 (3)pass that to cairo.

 So how does one call a GeglBuffer from the projection?

I said operate on, not call. :)
The projection has a GeglBuffer associated with it, see
https://git.gnome.org/browse/gimp/tree/app/display/gimpdisplayshell-render.c#n77

That is what the color conversion needs to use as an input, basically*.

* It should probably go through the display filters first, if any
exists. But that can probably be solved later.

-- 
Jon Nordby - www.jonnor.com
___
gimp-developer-list mailing list
List address:gimp-developer-list@gnome.org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list


Re: [Gimp-developer] Displaying linear gamma images

2013-09-11 Thread Elle Stone
Hmm, I managed to get past the problem of not linking to lcms2. The
solution was to compile Gimp using MAKEOPTS=-j3
CFLAGS=-Wl,--no-as-needed LDFLAGS=-llcms2 ./autogen.sh . . .
not that I know why that seems to have worked.

On to the next step.

-- 
http://ninedegreesbelow.com - articles on color management  open
source photography
___
gimp-developer-list mailing list
List address:gimp-developer-list@gnome.org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list


Re: [Gimp-developer] Nightly Build of GIMP

2013-09-11 Thread Michael Henning
Jehan:
These are my nightly builds. I build all of gimp's dependencies every
night from source. Right now I use cairo 1.12.14, and libpng 1.6.3.
All of the build options can be found around here:
https://git.gnome.org/browse/gimp/tree/build/windows/jhbuild/build.jhbuildrc#n133

This definitely sounds more like a cairo problem than a libpng
problem. I just realized that there's a minor upgrade of pixman
available (to 0.30.2), so I'll pull that in tonight because it might
have a bugfix.

I'm now cc'd on the bugreport you mentioned. We can continue this
discussion there.

  -- drawoc

On Wed, Sep 11, 2013 at 12:55 AM, Jehan Pagès
jehan.marmott...@gmail.com wrote:
 Hello people!

 Who takes care of the Nightly dev builds of GIMP here:
 http://nightly.darkrefraction.com/gimp/ ?

 I see we link this page on the official download page, so I guess
 that's someone from the team.
 I'd like to know what versions of libpng and cairo are used for these
 builds. Are these binaries taken from another project or self-built?
 Which exact version? With which build options?

 A user reported consistent crashes on Windows 7 32-bit, both for the
 master and gimp-2-8 nightbuilds, on simple resize/move events (Bug
 707653 ). On Windows 7 64-bit running these 32-bit binaries, I could
 reproduce very bad drawing bugs with the same binaries (no crash, but
 the user crash happens on expose events in his traces, so I think
 that's the same problem).

 But I could not reproduce this with my own Windows builds, both for
 master and gimp-2-8. After some tests, I see that the problem comes
 from cairo and/or libpng (basically I can take my own libpng15-15.dll
 and copy over libcairo-2.dll to the nightbuild prefix, and it would
 work).

 But I could not reproduce by recompiling myself libpng-1.6.3 and
 cairo-1.12.14. So I am wondering if the problem does not simply come
 from somehow broken dll in the nightbuilds. Thus I'd like to know how
 these have been build, which version, etc.
 Thanks.

 Jehan
 ___
 gimp-developer-list mailing list
 List address:gimp-developer-list@gnome.org
 List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
___
gimp-developer-list mailing list
List address:gimp-developer-list@gnome.org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list


Re: [Gimp-developer] Nightly Build of GIMP

2013-09-11 Thread Jehan Pagès
Hi,

thanks, I'll try to recompile cairo with these options and see if I
can reproduce the crash.

Note that the crash is fixed by just changing the cairo and libpng dll
(initially I had to change libpng because I tested with older
versions, but now I could try only by changing cairo indeed), so I
don't think that pixman may be the cause. But of course you may try.
There may be some unexpected side-effect; we never know.
Anyway yes let's continue on the tracker from now on!

Jehan


On Thu, Sep 12, 2013 at 11:31 AM, Michael Henning
dra...@darkrefraction.com wrote:
 Jehan:
 These are my nightly builds. I build all of gimp's dependencies every
 night from source. Right now I use cairo 1.12.14, and libpng 1.6.3.
 All of the build options can be found around here:
 https://git.gnome.org/browse/gimp/tree/build/windows/jhbuild/build.jhbuildrc#n133

 This definitely sounds more like a cairo problem than a libpng
 problem. I just realized that there's a minor upgrade of pixman
 available (to 0.30.2), so I'll pull that in tonight because it might
 have a bugfix.

 I'm now cc'd on the bugreport you mentioned. We can continue this
 discussion there.

   -- drawoc

 On Wed, Sep 11, 2013 at 12:55 AM, Jehan Pagès
 jehan.marmott...@gmail.com wrote:
 Hello people!

 Who takes care of the Nightly dev builds of GIMP here:
 http://nightly.darkrefraction.com/gimp/ ?

 I see we link this page on the official download page, so I guess
 that's someone from the team.
 I'd like to know what versions of libpng and cairo are used for these
 builds. Are these binaries taken from another project or self-built?
 Which exact version? With which build options?

 A user reported consistent crashes on Windows 7 32-bit, both for the
 master and gimp-2-8 nightbuilds, on simple resize/move events (Bug
 707653 ). On Windows 7 64-bit running these 32-bit binaries, I could
 reproduce very bad drawing bugs with the same binaries (no crash, but
 the user crash happens on expose events in his traces, so I think
 that's the same problem).

 But I could not reproduce this with my own Windows builds, both for
 master and gimp-2-8. After some tests, I see that the problem comes
 from cairo and/or libpng (basically I can take my own libpng15-15.dll
 and copy over libcairo-2.dll to the nightbuild prefix, and it would
 work).

 But I could not reproduce by recompiling myself libpng-1.6.3 and
 cairo-1.12.14. So I am wondering if the problem does not simply come
 from somehow broken dll in the nightbuilds. Thus I'd like to know how
 these have been build, which version, etc.
 Thanks.

 Jehan
 ___
 gimp-developer-list mailing list
 List address:gimp-developer-list@gnome.org
 List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list
___
gimp-developer-list mailing list
List address:gimp-developer-list@gnome.org
List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list