Something important to keep in mind when accessing 12 bit images in Wiretap (big endian or little endian) is that Flame makes absolutely no guarantees about the contents of the 4 least significant bits of each color component. In the best case, when a processed image was read straight from the frame buffer and written to disk, it will contain a copy of the 4 most significant bits, which gives you the correct scaling from 12 to 16 bits: 0x000 maps to 0x0000, 0xfff maps to 0xffff. But in most cases, those bits could be all zero, all one, or it could encode your SSN and credit card numbers. If you are going to pass this data to an application which expects valid 16 bit components, you will need to copy the 4 most significant bits of each color component into the 4 least significant bits (this is what the flame image export code does when exporting 16 bit images).
If this is not in the Wiretap documentation, it should be...
JF