Lines Matching refs:exr_image
337 extern void InitEXRImage(EXRImage *exr_image);
343 extern int FreeEXRImage(EXRImage *exr_image);
10808 static int DecodeChunk(EXRImage *exr_image, const EXRHeader *exr_header, in DecodeChunk() argument
10889 exr_image->tiles = static_cast<EXRTile *>( in DecodeChunk()
10913 exr_image->tiles[tile_idx].images = tinyexr::AllocateImage( in DecodeChunk()
10974 exr_image->tiles[tile_idx].images, in DecodeChunk()
10975 &(exr_image->tiles[tile_idx].width), in DecodeChunk()
10976 &(exr_image->tiles[tile_idx].height), in DecodeChunk()
10995 exr_image->tiles[tile_idx].offset_x = tile_coordinates[0]; in DecodeChunk()
10996 exr_image->tiles[tile_idx].offset_y = tile_coordinates[1]; in DecodeChunk()
10997 exr_image->tiles[tile_idx].level_x = tile_coordinates[2]; in DecodeChunk()
10998 exr_image->tiles[tile_idx].level_y = tile_coordinates[3]; in DecodeChunk()
11017 exr_image->num_tiles = static_cast<int>(num_tiles); in DecodeChunk()
11037 exr_image->images = tinyexr::AllocateImage( in DecodeChunk()
11125 exr_image->images, exr_header->requested_pixel_types, in DecodeChunk()
11171 exr_image->num_channels = num_channels; in DecodeChunk()
11173 exr_image->width = data_width; in DecodeChunk()
11174 exr_image->height = data_height; in DecodeChunk()
11214 static int DecodeEXRImage(EXRImage *exr_image, const EXRHeader *exr_header, in DecodeEXRImage() argument
11218 if (exr_image == NULL || exr_header == NULL || head == NULL || in DecodeEXRImage()
11342 int ret = DecodeChunk(exr_image, exr_header, offsets, head, size, &e); in DecodeEXRImage()
11350 FreeEXRImage(exr_image); in DecodeEXRImage()
11353 if ((exr_header->num_channels > 0) && exr_image && exr_image->images) { in DecodeEXRImage()
11355 if (exr_image->images[c]) { in DecodeEXRImage()
11356 free(exr_image->images[c]); in DecodeEXRImage()
11357 exr_image->images[c] = NULL; in DecodeEXRImage()
11360 free(exr_image->images); in DecodeEXRImage()
11361 exr_image->images = NULL; in DecodeEXRImage()
11477 EXRImage exr_image; in LoadEXRWithLayer() local
11480 InitEXRImage(&exr_image); in LoadEXRWithLayer()
11516 int ret = LoadEXRImageFromFile(&exr_image, &exr_header, filename, err); in LoadEXRWithLayer()
11538 FreeEXRImage(&exr_image); in LoadEXRWithLayer()
11565 malloc(4 * sizeof(float) * static_cast<size_t>(exr_image.width) * in LoadEXRWithLayer()
11566 static_cast<size_t>(exr_image.height))); in LoadEXRWithLayer()
11569 for (int it = 0; it < exr_image.num_tiles; it++) { in LoadEXRWithLayer()
11573 exr_image.tiles[it].offset_x * exr_header.tile_size_x + i; in LoadEXRWithLayer()
11575 exr_image.tiles[it].offset_y * exr_header.tile_size_y + j; in LoadEXRWithLayer()
11576 const int idx = ii + jj * exr_image.width; in LoadEXRWithLayer()
11579 if (ii >= exr_image.width) { in LoadEXRWithLayer()
11582 if (jj >= exr_image.height) { in LoadEXRWithLayer()
11586 unsigned char **src = exr_image.tiles[it].images; in LoadEXRWithLayer()
11599 for (int i = 0; i < exr_image.width * exr_image.height; i++) { in LoadEXRWithLayer()
11600 const float val = reinterpret_cast<float **>(exr_image.images)[chIdx][i]; in LoadEXRWithLayer()
11614 FreeEXRImage(&exr_image); in LoadEXRWithLayer()
11621 FreeEXRImage(&exr_image); in LoadEXRWithLayer()
11628 FreeEXRImage(&exr_image); in LoadEXRWithLayer()
11633 malloc(4 * sizeof(float) * static_cast<size_t>(exr_image.width) * in LoadEXRWithLayer()
11634 static_cast<size_t>(exr_image.height))); in LoadEXRWithLayer()
11636 for (int it = 0; it < exr_image.num_tiles; it++) { in LoadEXRWithLayer()
11640 exr_image.tiles[it].offset_x * exr_header.tile_size_x + i; in LoadEXRWithLayer()
11642 exr_image.tiles[it].offset_y * exr_header.tile_size_y + j; in LoadEXRWithLayer()
11643 const int idx = ii + jj * exr_image.width; in LoadEXRWithLayer()
11646 if (ii >= exr_image.width) { in LoadEXRWithLayer()
11649 if (jj >= exr_image.height) { in LoadEXRWithLayer()
11653 unsigned char **src = exr_image.tiles[it].images; in LoadEXRWithLayer()
11670 for (int i = 0; i < exr_image.width * exr_image.height; i++) { in LoadEXRWithLayer()
11672 reinterpret_cast<float **>(exr_image.images)[idxR][i]; in LoadEXRWithLayer()
11674 reinterpret_cast<float **>(exr_image.images)[idxG][i]; in LoadEXRWithLayer()
11676 reinterpret_cast<float **>(exr_image.images)[idxB][i]; in LoadEXRWithLayer()
11679 reinterpret_cast<float **>(exr_image.images)[idxA][i]; in LoadEXRWithLayer()
11687 (*width) = exr_image.width; in LoadEXRWithLayer()
11688 (*height) = exr_image.height; in LoadEXRWithLayer()
11691 FreeEXRImage(&exr_image); in LoadEXRWithLayer()
11757 EXRImage exr_image; in LoadEXRFromMemory() local
11782 InitEXRImage(&exr_image); in LoadEXRFromMemory()
11783 ret = LoadEXRImageFromMemory(&exr_image, &exr_header, memory, size, err); in LoadEXRFromMemory()
11810 malloc(4 * sizeof(float) * static_cast<size_t>(exr_image.width) * in LoadEXRFromMemory()
11811 static_cast<size_t>(exr_image.height))); in LoadEXRFromMemory()
11814 for (int it = 0; it < exr_image.num_tiles; it++) { in LoadEXRFromMemory()
11818 exr_image.tiles[it].offset_x * exr_header.tile_size_x + i; in LoadEXRFromMemory()
11820 exr_image.tiles[it].offset_y * exr_header.tile_size_y + j; in LoadEXRFromMemory()
11821 const int idx = ii + jj * exr_image.width; in LoadEXRFromMemory()
11824 if (ii >= exr_image.width) { in LoadEXRFromMemory()
11827 if (jj >= exr_image.height) { in LoadEXRFromMemory()
11831 unsigned char **src = exr_image.tiles[it].images; in LoadEXRFromMemory()
11844 for (int i = 0; i < exr_image.width * exr_image.height; i++) { in LoadEXRFromMemory()
11845 const float val = reinterpret_cast<float **>(exr_image.images)[0][i]; in LoadEXRFromMemory()
11876 malloc(4 * sizeof(float) * static_cast<size_t>(exr_image.width) * in LoadEXRFromMemory()
11877 static_cast<size_t>(exr_image.height))); in LoadEXRFromMemory()
11880 for (int it = 0; it < exr_image.num_tiles; it++) { in LoadEXRFromMemory()
11884 exr_image.tiles[it].offset_x * exr_header.tile_size_x + i; in LoadEXRFromMemory()
11886 exr_image.tiles[it].offset_y * exr_header.tile_size_y + j; in LoadEXRFromMemory()
11887 const int idx = ii + jj * exr_image.width; in LoadEXRFromMemory()
11890 if (ii >= exr_image.width) { in LoadEXRFromMemory()
11893 if (jj >= exr_image.height) { in LoadEXRFromMemory()
11897 unsigned char **src = exr_image.tiles[it].images; in LoadEXRFromMemory()
11913 for (int i = 0; i < exr_image.width * exr_image.height; i++) { in LoadEXRFromMemory()
11915 reinterpret_cast<float **>(exr_image.images)[idxR][i]; in LoadEXRFromMemory()
11917 reinterpret_cast<float **>(exr_image.images)[idxG][i]; in LoadEXRFromMemory()
11919 reinterpret_cast<float **>(exr_image.images)[idxB][i]; in LoadEXRFromMemory()
11922 reinterpret_cast<float **>(exr_image.images)[idxA][i]; in LoadEXRFromMemory()
11930 (*width) = exr_image.width; in LoadEXRFromMemory()
11931 (*height) = exr_image.height; in LoadEXRFromMemory()
11934 FreeEXRImage(&exr_image); in LoadEXRFromMemory()
11939 int LoadEXRImageFromFile(EXRImage *exr_image, const EXRHeader *exr_header, in LoadEXRImageFromFile() argument
11941 if (exr_image == NULL) { in LoadEXRImageFromFile()
11979 return LoadEXRImageFromMemory(exr_image, exr_header, &buf.at(0), filesize, in LoadEXRImageFromFile()
11983 int LoadEXRImageFromMemory(EXRImage *exr_image, const EXRHeader *exr_header, in LoadEXRImageFromMemory() argument
11986 if (exr_image == NULL || memory == NULL || in LoadEXRImageFromMemory()
12002 return tinyexr::DecodeEXRImage(exr_image, exr_header, head, marker, size, in LoadEXRImageFromMemory()
12006 size_t SaveEXRImageToMemory(const EXRImage *exr_image, in SaveEXRImageToMemory() argument
12009 if (exr_image == NULL || memory_out == NULL || in SaveEXRImageToMemory()
12108 int data[4] = {0, 0, exr_image->width - 1, exr_image->height - 1}; in SaveEXRImageToMemory()
12145 float w = static_cast<float>(exr_image->width); in SaveEXRImageToMemory()
12169 int num_blocks = exr_image->height / num_scanlines; in SaveEXRImageToMemory()
12170 if (num_blocks * num_scanlines < exr_image->height) { in SaveEXRImageToMemory()
12235 int endY = (std::min)(num_scanlines * (i + 1), exr_image->height); in SaveEXRImageToMemory()
12239 static_cast<size_t>(exr_image->width * h * pixel_data_size)); in SaveEXRImageToMemory()
12247 static_cast<size_t>(pixel_data_size * y * exr_image->width) + in SaveEXRImageToMemory()
12249 static_cast<size_t>(exr_image->width))); in SaveEXRImageToMemory()
12250 for (int x = 0; x < exr_image->width; x++) { in SaveEXRImageToMemory()
12253 exr_image->images)[c][(y + start_y) * exr_image->width + x]; in SaveEXRImageToMemory()
12269 exr_image->width) + in SaveEXRImageToMemory()
12271 static_cast<size_t>(exr_image->width))); in SaveEXRImageToMemory()
12272 for (int x = 0; x < exr_image->width; x++) { in SaveEXRImageToMemory()
12274 exr_image->images)[c][(y + start_y) * exr_image->width + x]; in SaveEXRImageToMemory()
12292 exr_image->width) + in SaveEXRImageToMemory()
12294 static_cast<size_t>(exr_image->width))); in SaveEXRImageToMemory()
12295 for (int x = 0; x < exr_image->width; x++) { in SaveEXRImageToMemory()
12298 exr_image->images)[c][(y + start_y) * exr_image->width + x]; in SaveEXRImageToMemory()
12314 static_cast<size_t>(pixel_data_size * y * exr_image->width) + in SaveEXRImageToMemory()
12316 static_cast<size_t>(exr_image->width))); in SaveEXRImageToMemory()
12317 for (int x = 0; x < exr_image->width; x++) { in SaveEXRImageToMemory()
12319 exr_image->images)[c][(y + start_y) * exr_image->width + x]; in SaveEXRImageToMemory()
12334 static_cast<size_t>(pixel_data_size * y * exr_image->width) + in SaveEXRImageToMemory()
12335 channel_offset_list[c] * static_cast<size_t>(exr_image->width))); in SaveEXRImageToMemory()
12336 for (int x = 0; x < exr_image->width; x++) { in SaveEXRImageToMemory()
12338 exr_image->images)[c][(y + start_y) * exr_image->width + x]; in SaveEXRImageToMemory()
12431 buf.size(), channels, exr_image->width, h); in SaveEXRImageToMemory()
12458 exr_image->width, h, exr_header->num_channels, zfp_compression_param); in SaveEXRImageToMemory()
12514 int SaveEXRImageToFile(const EXRImage *exr_image, const EXRHeader *exr_header, in SaveEXRImageToFile() argument
12516 if (exr_image == NULL || filename == NULL || in SaveEXRImageToFile()
12550 size_t mem_size = SaveEXRImageToMemory(exr_image, exr_header, &mem, err); in SaveEXRImageToFile()
12955 void InitEXRImage(EXRImage *exr_image) { argument
12956 if (exr_image == NULL) {
12960 exr_image->width = 0;
12961 exr_image->height = 0;
12962 exr_image->num_channels = 0;
12964 exr_image->images = NULL;
12965 exr_image->tiles = NULL;
12967 exr_image->num_tiles = 0;
13015 int FreeEXRImage(EXRImage *exr_image) { argument
13016 if (exr_image == NULL) {
13020 for (int i = 0; i < exr_image->num_channels; i++) {
13021 if (exr_image->images && exr_image->images[i]) {
13022 free(exr_image->images[i]);
13026 if (exr_image->images) {
13027 free(exr_image->images);
13030 if (exr_image->tiles) {
13031 for (int tid = 0; tid < exr_image->num_tiles; tid++) {
13032 for (int i = 0; i < exr_image->num_channels; i++) {
13033 if (exr_image->tiles[tid].images && exr_image->tiles[tid].images[i]) {
13034 free(exr_image->tiles[tid].images[i]);
13037 if (exr_image->tiles[tid].images) {
13038 free(exr_image->tiles[tid].images);
13041 free(exr_image->tiles);