Sven Neumann wrote:
> I suggest that we add a plug-in API that allows file loaders to pass the
> location of a disk-backed GeglBuffer to the core. That should be a
> reasonable way to get layer data to the core without the risk of
> crashing the core due to some problem in the file loader.
A disk-backed GeglBuffer API for transfering high bit depth data to the
core was what I had in mind as well.
There are two things I am aiming for getting into 2.8 that I believe
will lay a good foundation for more complete support for higher bit
depths in GIMP:
* The possibility to convert images (or rather, the data in the image)
freely between 8, 16 and 32 bits/channel.
* Elementary load/save support for formats that support higher bit
depths such as PNG, TIFF and OpenEXR.
It would also be nice to be able to specify the bit depth when creating
a new image (trivial to implement) and being able to use a couple of
tools such as the Bucket Fill Tool on HBD layers. That is however not
essential. The Color-tools are already ported to GEGL and higher bit
depths are of particular use to exactly that set of tools. Just being
able to load, color correct and save HBD images is quite useful already.
As we have discussed, in a completely GEGL-based GIMP the user would not
have to manually manage the bit-depth at all, we would simply never
destroy any data and work exclusively in RGBA float with sources being
in any format supported by babl.
That said, during the transition period to a completely GEGL-based GIMP
I don't see how we can get away with offering manual conversion to/from
8 bpc which is why I am aiming for adding that. As long as the dirty
details is kept in the core I don't think it will obstruct us from
continuing our pursue for a completely GEGL-based GIMP later. In fact, I
think what we learn by doing the above will give us important insights
into exactly to make GIMP completely GEGL-based.
I will attach new patches to the bug report , so people interested in
following the code writing process can subscribe to that report.
Would love to get your comments in this plan
Gimp-developer mailing list