GNOME Bugzilla – Bug 736199
Precision Conversion Dithering doesn't work at >16-bit precision
Last modified: 2017-04-10 18:30:08 UTC
The GIMP 2.9 Precision Conversion Dithering doesn't seem to work at 32- and 64-bit precision, at least not on my computer (lower precisions work). If I say "yes, dither", one CPU runs at 100% forever, even with a very small image, accomplishing nothing at all. The only way to make it stop is to kill the GIMP process from the command line. The terminal output looks like this: (gimp-2.9:2479): GLib-GObject-WARNING **: value "32" of type 'gint' is invalid or out of range for property 'red-bits' of type 'gint' repeated for green, blue, and alpha channels Mitch said "it seems the color-reduction GEGL op we use for dithering only handles up to 16 bit of precision" and suggested filing a bug report with GEGL.
This does not fix the bug, it only keeps GIMP from calling gegl:convert-precision with bits > 16. commit 77482620b478229bdef55a47306fc76890cbbfdb Author: Michael Natterer <mitch@gimp.org> Date: Sun Sep 7 23:25:25 2014 +0200 Bug 736199 - Precision Conversion Dithering doesn't work at >16-bit precision Don't allow to select dithering != "none" in the convert precision dialog if the precision has more than 16 bits. app/dialogs/convert-precision-dialog.c | 42 ++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 10 deletions(-)
The GEGL operation, now renamed to gegl:dither now also has limits for these properties that prevent more than 16bpc, though now gegl:dither uses levels rather than bits to specify this: property_int (red_levels, _("Red levels"), 6) description(_("Number of levels for red channel")) value_range (2, 65536) ui_gamma (3.0) property_int (green_levels, _("Green levels"), 7) description(_("Number of levels for green channel")) value_range (2, 65536) ui_gamma (3.0) property_int (blue_levels, _("Blue levels"), 6) description(_("Number of levels for blue channel")) value_range (2, 65536) ui_gamma (3.0)