The decoder interface is supposed to be the same on the win32 side and the unixlib side. Currently, we don't have any encoders or decoders implemented on the win32 side. Strictly speaking, I don't think we need CDECL on the unixlib side, but I'd like to keep them so the implementations carry over easily to win32.
It'd be nice to port GIF, BMP, and TGA support to this system so we can share more code between them, but it's probably not worth the time since they're already implemented. We may also want to eliminate the unixlib entirely and move all our decoders to the win32 side.