IIRC oiio can load an image from a memory buffer so the easiest way to support packed images would be to add something like Image.pixels.as_pointer() and just hand the address off to oiio. No muss, no fuss and it would also make it a lot easier to do stuff with pixels using ctypes and (maybe) numpy. Dan