
Hi Phil,
This sounds great. It's much closer to what I was trying to suggest back in March when we last had this discussion.
I've had a quick look at your libjpeg interface. Two features that I often use are dct_method=JDCT_IFAST and scaling down 2x or 4x using scale_num and scale_denom. It would be interesting to know whether (a) your existing code lets me use these via a "native handle", or (b) they could be added easily. My preference would still be to have a thinner library-wrapping layer, i.e. just a C++ification of the C library interface (see e.g. http://chezphil.org/tmp/LibJpeg.hh for an incomplete example), underneath the gil interface. But what you're proposing sounds much closer to this than Christian's proposal.
Using JDCT_IFAST is possible. Have a look at image_read_settings< jpeg_tag >. As for the scaling. I believe I have tried that in a simple test case and didn't get it to work. Do you have some libjpeg code uses such functionality? Regards, Christian