Okay, this is how you do it for anyone else who needs to convert from 32bpp to 16bpp.
- TArray <FFloat16Color> Pixels;
- Loop over your 32bpp data and create a FFloat16Color and assign R, B, G and A as normal, casting as you need to.
- FMemory::Memcpy(MipData, Pixels.GetData(), Pixels.Num() * Pixels.GetTypeSize());
Perfecto.