windowscodecs.dll is a library that works with image data in various forms. It is included in Windows Vista and .NET 3.0. It is highly extensible, and it also ships with windowscodecs-ext.dll (for N-channel pixel formats) and wmphoto.dll (for WMP format). In Wine, we use WindowsCodecs as a central location for image file decoding and encoding. The WindowsCodecs shipped with Wine is just good enough to load and save a few file formats.
The native implementation of IWICStream is very crippled. Generally only Stat, Read, Write, and Seek are implemented. Clones of IWICStreams can only be created using InitializeFromIStream (or InitializeFromIStreamRegion), which provides an independent cursor in a thread-unsafe way. The upshot is that we have to be very careful about how we use streams in WIC code and ensure that only one thread will access a given stream at a time.