16 bits per channel surfaces?

SDL currently uses 8 bits par channel max in the surfaces.

Did anybody ever made the missing functions
to enable 16 bit / channel pictures.
16 bit RGB or 16 bit Greyscale.

I mean create surface , work on it, then blit it to a display
in 24 or 32 bit. (Need a blit with conversion 16->8 bit
per channel, no big deal, I think)

(i.e. surfaces with 48 or 64 bits par pixel, what we can
get from scanners, Photoshop, TIFF or PNG files)

Yes, I know, no games need that…

Any hint on the obstacles to do it ?