MCPcopy Create free account
hub / github.com/RenderKit/embree / FreeEXRImage

Function FreeEXRImage

tutorials/common/image/tinyexr.h:8665–8700  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8663}
8664
8665int FreeEXRImage(EXRImage *exr_image) {
8666 if (exr_image == NULL) {
8667 return TINYEXR_ERROR_INVALID_ARGUMENT;
8668 }
8669
8670 if (exr_image->next_level) {
8671 FreeEXRImage(exr_image->next_level);
8672 delete exr_image->next_level;
8673 }
8674
8675 for (int i = 0; i < exr_image->num_channels; i++) {
8676 if (exr_image->images && exr_image->images[i]) {
8677 free(exr_image->images[i]);
8678 }
8679 }
8680
8681 if (exr_image->images) {
8682 free(exr_image->images);
8683 }
8684
8685 if (exr_image->tiles) {
8686 for (int tid = 0; tid < exr_image->num_tiles; tid++) {
8687 for (int i = 0; i < exr_image->num_channels; i++) {
8688 if (exr_image->tiles[tid].images && exr_image->tiles[tid].images[i]) {
8689 free(exr_image->tiles[tid].images[i]);
8690 }
8691 }
8692 if (exr_image->tiles[tid].images) {
8693 free(exr_image->tiles[tid].images);
8694 }
8695 }
8696 free(exr_image->tiles);
8697 }
8698
8699 return TINYEXR_SUCCESS;
8700}
8701
8702int ParseEXRHeaderFromFile(EXRHeader *exr_header, const EXRVersion *exr_version,
8703 const char *filename, const char **err) {

Callers 3

DecodeEXRImageFunction · 0.85
LoadEXRWithLayerFunction · 0.85
LoadEXRFromMemoryFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected