void DistortionMapWriteToFile(DistortionMapT *map, const StrT fileName) { size_t mapLen = sizeof(uint16_t) * map->width * map->height; size_t length = sizeof(int16_t) * 2 + mapLen; DiskDistortionMapT *diskMap = MemNew(length); diskMap->width = map->width; diskMap->height = map->height; memcpy(diskMap->data, map->map, mapLen); WriteFileSimple(fileName, diskMap, length); }
void UVMapWriteToFile(UVMapT *map, const char *fileName) { size_t mapLen = sizeof(uint16_t) * map->width * map->height; size_t length = sizeof(int16_t) * 2 + mapLen; DiskUVMapT *diskMap = MemNew(length); diskMap->width = map->width; diskMap->height = map->height; { uint8_t *srcU = map->map.fast.u; uint8_t *srcV = map->map.fast.v; uint8_t *dst = diskMap->data; do { *dst++ = *srcU++; *dst++ = *srcV++; } while (--mapLen); } WriteFileSimple(fileName, diskMap, length); }