I don't think this handles stride correctly. I also don't think it should be *that* hard to implement correctly, especially if we just move the format switch down to where we're calling MFCopyImage().
The "else" block is unreachable, so I don't think it should be added.