16#define EXR_LAY_MAXNAME 64
17#define EXR_PASS_MAXNAME 64
18#define EXR_VIEW_MAXNAME 64
19#define EXR_TOT_MAXNAME 64
21#define EXR_PASS_MAXCHAN 24
73 void *(*addview)(
void *base,
const char *
str),
74 void *(*addlayer)(
void *base,
const char *
str),
75 void (*addpass)(
void *base,
void IMB_exr_add_channels(ExrHandle *handle, blender::StringRefNull layerpassname, blender::StringRefNull channelnames, blender::StringRefNull viewname, blender::StringRefNull colorspace, size_t xstride, size_t ystride, float *rect, bool use_half_float)
bool IMB_exr_begin_write(ExrHandle *handle, const char *filepath, int width, int height, const double ppm[2], int compress, int quality, const StampData *stamp)
ExrHandle * IMB_exr_get_handle(bool write_multipart=false)
void IMB_exr_close(ExrHandle *handle)
void IMB_exr_write_channels(ExrHandle *handle)
bool IMB_exr_has_multilayer(ExrHandle *handle)
void IMB_exr_multilayer_convert(ExrHandle *handle, void *base, void *(*addview)(void *base, const char *str), void *(*addlayer)(void *base, const char *str), void(*addpass)(void *base, void *lay, const char *str, float *rect, int totchan, const char *chan_id, const char *view))
bool IMB_exr_get_ppm(ExrHandle *handle, double ppm[2])
void IMB_exr_read_channels(ExrHandle *handle)
bool IMB_exr_set_channel(ExrHandle *handle, blender::StringRefNull full_name, int xstride, int ystride, float *rect)
bool IMB_exr_begin_read(ExrHandle *handle, const char *filepath, int *width, int *height, bool parse_channels)
void IMB_exr_add_view(ExrHandle *handle, const char *name)
static bool parse_channels(const ImageSpec &in_spec, vector< MergeImageLayer > &layers, string &error)