I have attached a patch to "Bug 74224 – Add support for 16 bits per
channel"  that makes it possible to use GIMP for opening, color
correcting and saving 16-bits-per-channel PNGs using the operations
under the Colors menu that are ported to GEGL such as Color Balance or
Levels. For a technical description of the patch, refer to the bug report.
This was a weekend hack and raises an interesting question: shall we go
for some kind of 16-bit support for GIMP 2.8? I think we should as I am
confident we will be able to come up with something useful in the realm
of high bit depths for 2.8. I don't think it will be hard to add support
for loading some additional 16-bit image formats, allowing creation of
16-bit images and adding 16-bit capabilities to a set of basic tools.
Even if we certainly won't be able to completely port everything to
16-bit in one release cycle it would show that we are making progress in
this area. Just being able to color correct 16-bit PNGs covers one use
To convince yourself of that the patch actually makes GIMP do stuff in
high bit depth:
1. Apply the patch, requires SVN trunk of GIMP, GEGL and babl.
2. Open a 16-bit PNG with a white-to-black gradient such as this  one
I created using Krita.
3. Enable GEGL for the projection and color tools, the legacy code can't
handle 16-bit image data. View -> Use GEGL and Colors -> Use GEGL.
4. Use Colors -> Levels and map the entire range of input to the output
range [120, 135]. This will make the image look completely gray. Apply.
5. Use Colors -> Levels and map the input range [120, 135] to the full
output range [0, 255]. Apply.
After doing 5 the gradient will look intact if you do this on the 16-bit
PNG with GEGL. If you do this on 8-bit data using the 8-bit legacy code
paths the results will look terrible.
Welcome to the start of the 16-bit GIMP era ;)
Gimp-developer mailing list