Port missing GIMP features to GEGL

Ville Sokk

Abstract

I propose working on recreating legacy GIMP features that are missing from GEGL. The aim is to help replace the existing GIMP image processing core with GEGL to bring better precision, more colour formats and better programmer flexibility to GIMP while keeping all the familiar GIMP features working as they are.

Additional Information

GIMP’s original image processing functions were programmed to operate on no more than 8 bit per channel RGBA colours. Over the years this caused multiple issues for GIMP users, such as image processing artifacts/inaccuracies and inability to work with some colour models. The solution is GEGL, a new image processing backend which has been linked to GIMP and will be used to replace existing GIMP image processing operations. While GEGL provides a solution to these issues and brings new possibilities like non-destructive editing, the first goal in integrating GEGL is to port existing GIMP functionality.

Profit for GIMP

  • It aids GIMP in completely moving over to GEGL, discarding all legacy 8 bit code and providing a completely GEGL backed full-featured workflow for the users.
  • After the move to GEGL is complete, users will not have to re-familiarise with GIMP.
  • Thanks to the design of GEGL, the new operations will have cleaner, more readable code. This will make it easier to create optimized machine code (if necessary) or OpenCL versions.
  • It will be easier for the developers to create new functionality once everything works using the graph API of GEGL.

Code samples