Re: [Gimp-developer] Displaying linear gamma images (Was Re: Update on my Gimp color management coding efforts)
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
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
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
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