|
Blender V4.5
|
#include "IMB_filetype.hh"#include <algorithm>#include <cctype>#include <cerrno>#include <cstddef>#include <cstdio>#include <cstdlib>#include <fcntl.h>#include <fstream>#include <iostream>#include <set>#include <string>#include <OpenEXR/OpenEXRConfig.h>#include <OpenEXR/half.h>#include <OpenEXR/Iex.h>#include <OpenEXR/ImfArray.h>#include <OpenEXR/ImfAttribute.h>#include <OpenEXR/ImfChannelList.h>#include <OpenEXR/ImfChromaticities.h>#include <OpenEXR/ImfCompression.h>#include <OpenEXR/ImfCompressionAttribute.h>#include <OpenEXR/ImfIO.h>#include <OpenEXR/ImfInputFile.h>#include <OpenEXR/ImfIntAttribute.h>#include <OpenEXR/ImfOutputFile.h>#include <OpenEXR/ImfPixelType.h>#include <OpenEXR/ImfPreviewImage.h>#include <OpenEXR/ImfRgbaFile.h>#include <OpenEXR/ImfStandardAttributes.h>#include <OpenEXR/ImfStringAttribute.h>#include <OpenEXR/ImfVersion.h>#include <OpenEXR/ImfInputPart.h>#include <OpenEXR/ImfMultiPartInputFile.h>#include <OpenEXR/ImfMultiPartOutputFile.h>#include <OpenEXR/ImfMultiView.h>#include <OpenEXR/ImfOutputPart.h>#include <OpenEXR/ImfPartHelper.h>#include <OpenEXR/ImfPartType.h>#include <OpenEXR/ImfTiledOutputPart.h>#include "DNA_scene_types.h"#include <openexr_api.h>#include <unistd.h>#include "MEM_guardedalloc.h"#include "BLI_fileops.h"#include "BLI_listbase.h"#include "BLI_math_base.hh"#include "BLI_math_color.h"#include "BLI_mmap.h"#include "BLI_path_utils.hh"#include "BLI_string.h"#include "BLI_string_ref.hh"#include "BLI_threads.h"#include "BKE_idprop.hh"#include "BKE_image.hh"#include "IMB_allocimbuf.hh"#include "IMB_colormanagement.hh"#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "IMB_metadata.hh"#include "IMB_openexr.hh"Go to the source code of this file.
Classes | |
| class | IMemStream |
| class | IMMapStream |
| class | IFileStream |
| class | OMemStream |
| class | OFileStream |
| struct | _RGBAZ |
| struct | ExrHandle |
| struct | ExrChannel |
| struct | ExrPass |
| struct | ExrLayer |
Macros | |
| #define | COMBINED_OPENEXR_VERSION ((10000 * OPENEXR_VERSION_MAJOR) + (100 * OPENEXR_VERSION_MINOR) + OPENEXR_VERSION_PATCH) |
| #define | exr_file_offset_t Int64 |
Typedefs | |
| using | RGBAZ = _RGBAZ |
Functions | |
| static struct ExrPass * | imb_exr_get_pass (ListBase *lb, const char *passname) |
| static bool | exr_has_multiview (MultiPartInputFile &file) |
| static bool | exr_has_multipart_file (MultiPartInputFile &file) |
| static bool | exr_has_alpha (MultiPartInputFile &file) |
| static void | exr_printf (const char *__restrict fmt,...) |
| static void | imb_exr_type_by_channels (ChannelList &channels, StringVector &views, bool *r_singlelayer, bool *r_multilayer, bool *r_multiview) |
| static half | float_to_half_safe (const float value) |
| bool | imb_is_a_openexr (const uchar *mem, const size_t size) |
| static int | openexr_jpg_like_quality_to_dwa_quality (int q) |
| static void | openexr_header_compression (Header *header, int compression, int quality) |
| static int | openexr_header_get_compression (const Header &header) |
| static void | openexr_header_metadata (Header *header, ImBuf *ibuf) |
| static void | openexr_header_metadata_callback (void *data, const char *propname, char *prop, int) |
| static bool | imb_save_openexr_half (ImBuf *ibuf, const char *filepath, const int flags) |
| static bool | imb_save_openexr_float (ImBuf *ibuf, const char *filepath, const int flags) |
| bool | imb_save_openexr (ImBuf *ibuf, const char *filepath, int flags) |
| static bool | imb_exr_multilayer_parse_channels_from_file (ExrHandle *data) |
| void * | IMB_exr_get_handle () |
| void * | IMB_exr_get_handle_name (const char *name) |
| void | IMB_exr_add_view (void *handle, const char *name) |
| static int | imb_exr_get_multiView_id (StringVector &views, const std::string &name) |
| static void | imb_exr_get_views (MultiPartInputFile &file, StringVector &views) |
| static void | imb_exr_insert_view_name (char name_full[EXR_TOT_MAXNAME+1], const char *passname, const char *viewname) |
| void | IMB_exr_add_channel (void *handle, const char *layname, const char *passname, const char *viewname, int xstride, int ystride, float *rect, bool use_half_float) |
| bool | IMB_exr_begin_write (void *handle, const char *filepath, int width, int height, const double ppm[2], int compress, int quality, const StampData *stamp) |
| bool | IMB_exr_begin_read (void *handle, const char *filepath, int *width, int *height, const bool parse_channels) |
| bool | IMB_exr_set_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect) |
| void | IMB_exr_write_channels (void *handle) |
| void | IMB_exr_read_channels (void *handle) |
| void | IMB_exr_multilayer_convert (void *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)) |
| void | IMB_exr_close (void *handle) |
| static int | imb_exr_split_token (const char *str, const char *end, const char **token) |
| static void | imb_exr_pass_name_from_channel (char *passname, const ExrChannel *echan, const char *channelname, const bool has_xyz_channels) |
| static void | imb_exr_pass_name_from_channel_name (char *passname, const ExrChannel *, const char *channelname, const bool) |
| static int | imb_exr_split_channel_name (ExrChannel *echan, char *layname, char *passname, bool has_xyz_channels) |
| static ExrLayer * | imb_exr_get_layer (ListBase *lb, const char *layname) |
| static bool | exr_has_xyz_channels (ExrHandle *exr_handle) |
| static std::vector< MultiViewChannelName > | exr_channels_in_multi_part_file (const MultiPartInputFile &file) |
| static ExrHandle * | imb_exr_begin_read_mem (IStream &file_stream, MultiPartInputFile &file, int width, int height) |
| static void | exr_printf (const char *fmt,...) |
| static void | exr_print_filecontents (MultiPartInputFile &file) |
| static const char * | exr_rgba_channelname (MultiPartInputFile &file, const char *chan) |
| static int | exr_has_rgb (MultiPartInputFile &file, const char *rgb_channels[3]) |
| static bool | exr_has_luma (MultiPartInputFile &file) |
| static bool | exr_has_chroma (MultiPartInputFile &file) |
| static bool | exr_has_xyz (MultiPartInputFile &file) |
| static bool | exr_is_half_float (MultiPartInputFile &file) |
| static bool | imb_exr_is_multilayer_file (MultiPartInputFile &file) |
| static bool | imb_exr_is_multi (MultiPartInputFile &file) |
| bool | IMB_exr_has_multilayer (void *handle) |
| static bool | imb_check_chromaticity_val (float test_v, float ref_v) |
| static bool | imb_check_chromaticity_matches (const Imf::Chromaticities &a, const Imf::Chromaticities &b) |
| static void | imb_exr_set_known_colorspace (const Header &header, ImFileColorSpace &r_colorspace) |
| static bool | exr_get_ppm (MultiPartInputFile &file, double ppm[2]) |
| bool | IMB_exr_get_ppm (void *handle, double ppm[2]) |
| ImBuf * | imb_load_openexr (const uchar *mem, size_t size, int flags, ImFileColorSpace &r_colorspace) |
| ImBuf * | imb_load_filepath_thumbnail_openexr (const char *filepath, const int, const size_t max_thumb_size, ImFileColorSpace &r_colorspace, size_t *r_width, size_t *r_height) |
| void | imb_initopenexr () |
| void | imb_exitopenexr () |
Variables | |
| static Imf::Chromaticities | CHROMATICITIES_XYZ_E |
| static Imf::Chromaticities | CHROMATICITIES_ACES_2065_1 |
| static ListBase | exrhandles = {nullptr, nullptr} |
| #define COMBINED_OPENEXR_VERSION ((10000 * OPENEXR_VERSION_MAJOR) + (100 * OPENEXR_VERSION_MINOR) + OPENEXR_VERSION_PATCH) |
Definition at line 26 of file openexr_api.cpp.
| #define exr_file_offset_t Int64 |
Definition at line 37 of file openexr_api.cpp.
Referenced by IFileStream::seekg(), IMemStream::seekg(), IMMapStream::seekg(), OFileStream::seekp(), OMemStream::seekp(), IFileStream::tellg(), IMemStream::tellg(), IMMapStream::tellg(), OFileStream::tellp(), and OMemStream::tellp().
Definition at line 399 of file openexr_api.cpp.
|
static |
Definition at line 1554 of file openexr_api.cpp.
References blender::StringRef::drop_known_suffix(), blender::StringRefBase::endswith(), i, blender::StringRefBase::is_empty(), and blender::StringRefBase::startswith().
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 2056 of file openexr_api.cpp.
Referenced by IMB_exr_get_ppm(), and imb_load_openexr().
|
static |
Definition at line 1869 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1862 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1853 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1977 of file openexr_api.cpp.
Referenced by imb_exr_get_views(), and imb_exr_is_multi().
|
static |
Definition at line 1966 of file openexr_api.cpp.
Referenced by imb_exr_get_views(), and imb_exr_is_multi().
|
static |
|
static |
Definition at line 1875 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1532 of file openexr_api.cpp.
References ExrHandle::channels, ELEM, and LISTBASE_FOREACH.
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 1886 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1775 of file openexr_api.cpp.
References i, printf, and view.
Referenced by imb_load_openexr().
|
static |
Referenced by IMB_exr_add_channel(), IMB_exr_read_channels(), and imb_save_openexr_half().
|
static |
Definition at line 1763 of file openexr_api.cpp.
|
static |
Definition at line 1805 of file openexr_api.cpp.
References BLI_strcasecmp(), i, len, and str.
Referenced by imb_load_openexr().
|
static |
Definition at line 401 of file openexr_api.cpp.
References clamp_f().
Referenced by IMB_exr_write_channels(), and imb_save_openexr_half().
|
static |
Definition at line 2015 of file openexr_api.cpp.
References b, and imb_check_chromaticity_val().
Referenced by imb_exr_set_known_colorspace().
|
static |
Definition at line 2008 of file openexr_api.cpp.
Referenced by imb_check_chromaticity_matches().
| void imb_exitopenexr | ( | ) |
Definition at line 2400 of file openexr_api.cpp.
| void IMB_exr_add_channel | ( | void * | handle, |
| const char * | layname, | ||
| const char * | passname, | ||
| const char * | viewname, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect, | ||
| bool | use_half_float ) |
Adds flattened ExrChannel's xstride, ystride and rect can be done in set_channel too, for tile writing.
| passname | Does not include view. |
Definition at line 906 of file openexr_api.cpp.
Referenced by IMB_exr_begin_read(), and imb_exr_multilayer_parse_channels_from_file().
| void IMB_exr_add_view | ( | void * | handle, |
| const char * | name ) |
Definition at line 831 of file openexr_api.cpp.
| bool IMB_exr_begin_read | ( | void * | handle, |
| const char * | filepath, | ||
| int * | width, | ||
| int * | height, | ||
| bool | parse_channels ) |
Read from file.
Definition at line 1032 of file openexr_api.cpp.
|
static |
Definition at line 1739 of file openexr_api.cpp.
References data, IMB_exr_close(), IMB_exr_get_handle(), and imb_exr_multilayer_parse_channels_from_file().
Referenced by imb_load_openexr().
| bool IMB_exr_begin_write | ( | void * | handle, |
| const char * | filepath, | ||
| int | width, | ||
| int | height, | ||
| const double | ppm[2], | ||
| int | compress, | ||
| int | quality, | ||
| const StampData * | stamp ) |
Used for output files (from RenderResult) (single and multi-layer, single and multi-view).
Definition at line 962 of file openexr_api.cpp.
| void IMB_exr_close | ( | void * | handle | ) |
Definition at line 1307 of file openexr_api.cpp.
Referenced by imb_exr_begin_read_mem().
| void * IMB_exr_get_handle | ( | ) |
Definition at line 809 of file openexr_api.cpp.
Referenced by imb_exr_begin_read_mem(), and IMB_exr_get_handle_name().
| void * IMB_exr_get_handle_name | ( | const char * | name | ) |
Definition at line 818 of file openexr_api.cpp.
Definition at line 1499 of file openexr_api.cpp.
References BLI_addtail(), BLI_findstring(), BLI_strncpy(), EXR_LAY_MAXNAME, MEM_callocN(), ExrLayer::name, and offsetof.
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 837 of file openexr_api.cpp.
Referenced by IMB_exr_add_channel(), imb_exr_get_views(), and imb_exr_type_by_channels().
Definition at line 1512 of file openexr_api.cpp.
References BLI_addhead(), BLI_addtail(), BLI_findstring(), MEM_callocN(), ExrPass::name, offsetof, STREQ, and STRNCPY().
Referenced by imb_exr_multilayer_parse_channels_from_file().
| bool IMB_exr_get_ppm | ( | void * | handle, |
| double | ppm[2] ) |
Definition at line 2067 of file openexr_api.cpp.
|
static |
Definition at line 852 of file openexr_api.cpp.
References exr_has_multipart_file(), exr_has_multiview(), imb_exr_get_multiView_id(), and view.
Referenced by IMB_exr_begin_read(), and imb_exr_multilayer_parse_channels_from_file().
| bool IMB_exr_has_multilayer | ( | void * | handle | ) |
Definition at line 2002 of file openexr_api.cpp.
|
static |
Definition at line 878 of file openexr_api.cpp.
References BLI_assert, BLI_snprintf(), BLI_str_rpartition(), BLI_strncpy(), ELEM, EXR_TOT_MAXNAME, and len.
Referenced by IMB_exr_add_channel().
|
static |
Definition at line 1983 of file openexr_api.cpp.
References exr_has_multipart_file(), exr_has_multiview(), and imb_exr_is_multilayer_file().
Referenced by IMB_exr_has_multilayer(), and imb_load_openexr().
|
static |
Definition at line 1898 of file openexr_api.cpp.
Referenced by imb_exr_is_multi().
| void IMB_exr_multilayer_convert | ( | void * | 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) ) |
Definition at line 1260 of file openexr_api.cpp.
References BLI_listbase_is_empty(), data, LISTBASE_FOREACH, printf, str, and view.
Referenced by BKE_movieclip_convert_multilayer_ibuf(), render_result_new_from_exr(), and studiolight_load_equirect_image().
|
static |
Definition at line 1617 of file openexr_api.cpp.
References ExrPass::chan, ExrChannel::chan_id, data, ELEM, exr_channels_in_multi_part_file(), exr_has_xyz_channels(), EXR_PASS_MAXCHAN, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, IMB_exr_add_channel(), imb_exr_get_layer(), imb_exr_get_pass(), imb_exr_get_views(), imb_exr_split_channel_name(), ExrPass::internal_name, LISTBASE_FOREACH, ExrChannel::m, MEM_calloc_arrayN(), ExrChannel::next, ExrLayer::passes, printf, ExrChannel::rect, SNPRINTF, STRNCPY(), ExrPass::totchan, ExrPass::view, view, ExrChannel::view_id, ExrPass::view_id, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by IMB_exr_begin_read(), and imb_exr_begin_read_mem().
|
static |
Definition at line 1360 of file openexr_api.cpp.
References BLI_strcaseeq(), BLI_strncpy(), ExrChannel::chan_id, ELEM, and EXR_TOT_MAXNAME.
Referenced by imb_exr_split_channel_name().
|
static |
Definition at line 1381 of file openexr_api.cpp.
References BLI_strncpy(), and EXR_TOT_MAXNAME.
Referenced by imb_exr_split_channel_name().
| void IMB_exr_read_channels | ( | void * | handle | ) |
Definition at line 1181 of file openexr_api.cpp.
Referenced by imb_load_openexr().
| bool IMB_exr_set_channel | ( | void * | handle, |
| const char * | layname, | ||
| const char * | passname, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect ) |
Still clumsy name handling, layers/channels can be ordered as list in list later.
| passname | Here is the raw channel name without the layer. |
Definition at line 1092 of file openexr_api.cpp.
|
static |
Definition at line 2028 of file openexr_api.cpp.
References CHROMATICITIES_ACES_2065_1, CHROMATICITIES_XYZ_E, COLOR_ROLE_ACES_INTERCHANGE, imb_check_chromaticity_matches(), IMB_colormanagement_role_colorspace_name_get(), ImFileColorSpace::is_hdr_float, ImFileColorSpace::metadata_colorspace, and STRNCPY().
Referenced by imb_load_filepath_thumbnail_openexr(), and imb_load_openexr().
|
static |
Definition at line 1396 of file openexr_api.cpp.
References BLI_assert, BLI_strcaseeq(), BLI_strncpy(), BLI_toupper_ascii(), ExrChannel::chan_id, ELEM, EXR_TOT_MAXNAME, imb_exr_pass_name_from_channel(), imb_exr_pass_name_from_channel_name(), imb_exr_split_token(), len, ExrChannel::m, and printf.
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Get a sub-string from the end of the name, separated by '.'.
Definition at line 1346 of file openexr_api.cpp.
References BLI_str_partition_ex(), and str.
Referenced by imb_exr_split_channel_name().
|
static |
Definition at line 1910 of file openexr_api.cpp.
References BLI_assert, i, imb_exr_get_multiView_id(), and pos.
Referenced by IMB_exr_begin_write().
| void IMB_exr_write_channels | ( | void * | handle | ) |
Definition at line 1122 of file openexr_api.cpp.
| void imb_initopenexr | ( | ) |
Definition at line 2392 of file openexr_api.cpp.
References BLI_system_thread_count().
| bool imb_is_a_openexr | ( | const unsigned char * | mem, |
| size_t | size ) |
Test presence of OpenEXR file.
| mem | pointer to loaded OpenEXR bit-stream. |
Definition at line 406 of file openexr_api.cpp.
References size().
Referenced by imb_load_openexr().
| ImBuf * imb_load_filepath_thumbnail_openexr | ( | const char * | filepath, |
| const int | flags, | ||
| const size_t | max_thumb_size, | ||
| ImFileColorSpace & | r_colorspace, | ||
| size_t * | r_width, | ||
| size_t * | r_height ) |
Definition at line 2271 of file openexr_api.cpp.
References BLI_file_size(), ImBufFloatBuffer::data, ImBuf::float_buffer, IB_float_data, IMB_allocFromBuffer(), IMB_allocImBuf(), imb_exr_set_known_colorspace(), IMB_flipy(), IMB_freeImBuf(), and w().
| ImBuf * imb_load_openexr | ( | const uchar * | mem, |
| size_t | size, | ||
| int | flags, | ||
| ImFileColorSpace & | r_colorspace ) |
Definition at line 2073 of file openexr_api.cpp.
References BLI_YCC_ITU_BT709, ImBufFloatBuffer::data, exr_get_ppm(), exr_has_alpha(), exr_has_chroma(), exr_has_luma(), exr_has_rgb(), exr_has_xyz(), exr_is_half_float(), exr_print_filecontents(), exr_rgba_channelname(), flag, ImbFormatOptions::flag, ImBuf::flags, ImBuf::float_buffer, ImBuf::foptions, ImBuf::ftype, i, IB_alphamode_detect, IB_alphamode_premul, IB_metadata, IB_multilayer, IB_test, IB_thumbnail, IMB_alloc_float_pixels(), IMB_allocImBuf(), IMB_byte_from_float(), imb_exr_begin_read_mem(), imb_exr_is_multi(), IMB_exr_read_channels(), imb_exr_set_known_colorspace(), IMB_freeImBuf(), IMB_FTYPE_OPENEXR, imb_is_a_openexr(), IMB_metadata_ensure(), IMB_metadata_set_field(), in, ImBuf::metadata, IDProperty::name, OPENEXR_HALF, openexr_header_get_compression(), ImBuf::ppm, printf, size(), ImBuf::userdata, ImBuf::x, ImBuf::y, and ycc_to_rgb().
| bool imb_save_openexr | ( | ImBuf * | ibuf, |
| const char * | filepath, | ||
| int | flags ) |
Definition at line 714 of file openexr_api.cpp.
References ImBufFloatBuffer::data, ImBuf::encoded_size, ImbFormatOptions::flag, ImBuf::float_buffer, ImBuf::foptions, IB_mem, imb_addencodedbufferImBuf(), imb_save_openexr_float(), imb_save_openexr_half(), and OPENEXR_HALF.
|
static |
Definition at line 643 of file openexr_api.cpp.
References ImBuf::channels, ImBufFloatBuffer::data, ImbFormatOptions::flag, ImBuf::float_buffer, ImBuf::foptions, IB_mem, OPENEXR_CODEC_MASK, openexr_header_compression(), openexr_header_metadata(), ImBuf::planes, printf, ImbFormatOptions::quality, ImBuf::x, and ImBuf::y.
Referenced by imb_save_openexr().
|
static |
Definition at line 541 of file openexr_api.cpp.
References _RGBAZ::a, _RGBAZ::b, ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, exr_printf(), ImbFormatOptions::flag, ImBuf::float_buffer, float_to_half_safe(), ImBuf::foptions, _RGBAZ::g, HALF, i, IB_mem, OPENEXR_CODEC_MASK, openexr_header_compression(), openexr_header_metadata(), ImBuf::planes, printf, ImbFormatOptions::quality, _RGBAZ::r, srgb_to_linearrgb(), ImBuf::x, and ImBuf::y.
Referenced by imb_save_openexr().
|
static |
Definition at line 428 of file openexr_api.cpp.
References openexr_jpg_like_quality_to_dwa_quality(), R_IMF_EXR_CODEC_B44, R_IMF_EXR_CODEC_B44A, R_IMF_EXR_CODEC_DWAA, R_IMF_EXR_CODEC_DWAB, R_IMF_EXR_CODEC_NONE, R_IMF_EXR_CODEC_PIZ, R_IMF_EXR_CODEC_PXR24, R_IMF_EXR_CODEC_RLE, R_IMF_EXR_CODEC_ZIP, and R_IMF_EXR_CODEC_ZIPS.
Referenced by IMB_exr_begin_write(), imb_save_openexr_float(), and imb_save_openexr_half().
|
static |
Definition at line 471 of file openexr_api.cpp.
References R_IMF_EXR_CODEC_B44, R_IMF_EXR_CODEC_B44A, R_IMF_EXR_CODEC_DWAA, R_IMF_EXR_CODEC_DWAB, R_IMF_EXR_CODEC_NONE, R_IMF_EXR_CODEC_PIZ, R_IMF_EXR_CODEC_PXR24, R_IMF_EXR_CODEC_RLE, R_IMF_EXR_CODEC_ZIP, and R_IMF_EXR_CODEC_ZIPS.
Referenced by imb_load_openexr().
Definition at line 500 of file openexr_api.cpp.
References ImBuf::byte_buffer, CHROMATICITIES_ACES_2065_1, COLOR_ROLE_ACES_INTERCHANGE, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, IDProperty::data, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IDPropertyData::group, IDP_STRING, IDP_String, IMB_colormanagement_colorspace_get_name(), IMB_colormanagement_role_colorspace_name_get(), LISTBASE_FOREACH, ImBuf::metadata, ImBuf::ppm, blender::math::safe_divide(), and STREQ.
Referenced by imb_save_openexr_float(), and imb_save_openexr_half().
|
static |
Definition at line 532 of file openexr_api.cpp.
References data.
Referenced by IMB_exr_begin_write().
|
static |
Definition at line 415 of file openexr_api.cpp.
References blender::math::clamp().
Referenced by openexr_header_compression().
|
static |
Definition at line 120 of file openexr_api.cpp.
Referenced by imb_exr_set_known_colorspace(), and openexr_header_metadata().
|
static |
Definition at line 117 of file openexr_api.cpp.
Referenced by imb_exr_set_known_colorspace().
Definition at line 742 of file openexr_api.cpp.
Referenced by IMB_exr_close(), IMB_exr_get_handle(), and IMB_exr_get_handle_name().