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