|
Blender V5.0
|
#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_string.h"#include "BLI_string_ref.hh"#include "BLI_string_utf8.h"#include "BLI_threads.h"#include "BKE_blender_version.h"#include "BKE_idprop.hh"#include "BKE_image.hh"#include "CLG_log.h"#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 | ExrChannel |
| struct | ExrPass |
| struct | ExrLayer |
| struct | ExrHandle |
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 bool | exr_has_multiview (MultiPartInputFile &file) |
| static bool | exr_has_multipart_file (MultiPartInputFile &file) |
| static bool | exr_has_alpha (MultiPartInputFile &file) |
| static const ColorSpace * | imb_exr_part_colorspace (const Header &header) |
| 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_global (Header *header, IDProperty *metadata, const double ppm[2]) |
| static void | openexr_header_metadata_colorspace (Header *header, const ColorSpace *colorspace) |
| static void | openexr_header_metadata_colorspace (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 *handle) |
| static blender::Vector< ExrChannel > | exr_channels_in_multi_part_file (const MultiPartInputFile &file, const bool parse_layers) |
| ExrHandle * | IMB_exr_get_handle (const bool write_multipart) |
| void | IMB_exr_add_view (ExrHandle *handle, const char *name) |
| static int | imb_exr_get_multiView_id (StringVector &views, const std::string &name) |
| static StringVector | imb_exr_get_views (MultiPartInputFile &file) |
| 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) |
| static void | openexr_header_metadata_multi (ExrHandle *handle, Header &header, const double ppm[2], const StampData *stamp) |
| 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) |
| bool | IMB_exr_begin_read (ExrHandle *handle, const char *filepath, int *width, int *height, const bool parse_channels) |
| bool | IMB_exr_set_channel (ExrHandle *handle, blender::StringRefNull full_name, int xstride, int ystride, float *rect) |
| void | IMB_exr_write_channels (ExrHandle *handle) |
| void | IMB_exr_read_channels (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)) |
| void | IMB_exr_close (ExrHandle *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 (ExrHandle *handle, const char *layname) |
| static ExrPass * | imb_exr_get_pass (ExrLayer &lay, const char *passname) |
| static bool | exr_has_xyz_channels (ExrHandle *exr_handle) |
| static ExrHandle * | imb_exr_begin_read_mem (IStream &file_stream, MultiPartInputFile &file, int width, int height) |
| 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 (ExrHandle *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 (ExrHandle *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 CLG_LogRef | LOG = {"image.openexr"} |
| static Imf::Chromaticities | CHROMATICITIES_XYZ_E |
| static Imf::Chromaticities | CHROMATICITIES_ACES_2065_1 |
| #define COMBINED_OPENEXR_VERSION ((10000 * OPENEXR_VERSION_MAJOR) + (100 * OPENEXR_VERSION_MINOR) + OPENEXR_VERSION_PATCH) |
Definition at line 27 of file openexr_api.cpp.
| #define exr_file_offset_t Int64 |
Definition at line 38 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 397 of file openexr_api.cpp.
|
static |
Definition at line 1583 of file openexr_api.cpp.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ExrChannel::colorspace, blender::StringRef::drop_known_suffix(), blender::StringRefBase::endswith(), i, imb_exr_part_colorspace(), ExrChannel::internal_name, blender::StringRefBase::is_empty(), ExrChannel::name, ExrChannel::part_number, blender::StringRefBase::startswith(), and ExrChannel::view.
Referenced by IMB_exr_begin_read(), and imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 2035 of file openexr_api.cpp.
Referenced by IMB_exr_get_ppm(), and imb_load_openexr().
|
static |
Definition at line 1881 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1874 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1865 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1933 of file openexr_api.cpp.
Referenced by imb_exr_is_multi().
|
static |
Definition at line 1922 of file openexr_api.cpp.
Referenced by imb_exr_is_multi().
|
static |
|
static |
Definition at line 1887 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1561 of file openexr_api.cpp.
References ExrHandle::channels, ELEM, and ExrChannel::name.
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 1898 of file openexr_api.cpp.
Referenced by imb_load_openexr().
|
static |
Definition at line 1787 of file openexr_api.cpp.
References CLOG_DEBUG, i, LOG, and view.
Referenced by imb_load_openexr().
|
static |
Definition at line 1817 of file openexr_api.cpp.
References BLI_strcasecmp(), ExrHandle::channels, i, len, and str.
Referenced by imb_load_openexr().
Definition at line 399 of file openexr_api.cpp.
References clamp_f().
Referenced by IMB_exr_write_channels(), and imb_save_openexr_half().
|
static |
Definition at line 1970 of file openexr_api.cpp.
References b, and imb_check_chromaticity_val().
Referenced by imb_exr_set_known_colorspace().
Definition at line 1963 of file openexr_api.cpp.
Referenced by imb_check_chromaticity_matches().
| void imb_exitopenexr | ( | ) |
Definition at line 2377 of file openexr_api.cpp.
| 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 ) |
Add multiple channels to EXR file. The number of channels is determined by channelnames.size() with each character a channel name. Layer and pass name, view name and colorspace are all optional.
Definition at line 907 of file openexr_api.cpp.
| void IMB_exr_add_view | ( | ExrHandle * | handle, |
| const char * | name ) |
Definition at line 860 of file openexr_api.cpp.
| bool IMB_exr_begin_read | ( | ExrHandle * | handle, |
| const char * | filepath, | ||
| int * | width, | ||
| int * | height, | ||
| bool | parse_channels ) |
Read from file.
Definition at line 1101 of file openexr_api.cpp.
|
static |
Definition at line 1764 of file openexr_api.cpp.
References ExrHandle::height, ExrHandle::ifile, ExrHandle::ifile_stream, IMB_exr_close(), IMB_exr_get_handle(), imb_exr_multilayer_parse_channels_from_file(), and ExrHandle::width.
Referenced by imb_load_openexr().
| 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 ) |
Used for output files (from RenderResult) (single and multi-layer, single and multi-view).
Definition at line 988 of file openexr_api.cpp.
| void IMB_exr_close | ( | ExrHandle * | handle | ) |
Definition at line 1360 of file openexr_api.cpp.
Referenced by imb_exr_begin_read_mem().
| ExrHandle * IMB_exr_get_handle | ( | const bool | write_multipart | ) |
Definition at line 851 of file openexr_api.cpp.
Referenced by imb_exr_begin_read_mem().
Definition at line 1527 of file openexr_api.cpp.
References Vector< T, InlineBufferCapacity, Allocator >::append_as(), Vector< T, InlineBufferCapacity, Allocator >::last(), ExrHandle::layers, and ExrLayer::name.
Referenced by imb_exr_multilayer_parse_channels_from_file().
|
static |
Definition at line 865 of file openexr_api.cpp.
References count, i, and name.
Referenced by imb_exr_get_views().
Definition at line 1541 of file openexr_api.cpp.
References Vector< T, InlineBufferCapacity, Allocator >::append(), Vector< T, InlineBufferCapacity, Allocator >::first(), Vector< T, InlineBufferCapacity, Allocator >::last(), ExrPass::name, ExrLayer::passes, Vector< T, InlineBufferCapacity, Allocator >::prepend(), and STREQ.
Referenced by imb_exr_multilayer_parse_channels_from_file().
| bool IMB_exr_get_ppm | ( | ExrHandle * | handle, |
| double | ppm[2] ) |
Definition at line 2046 of file openexr_api.cpp.
|
static |
Definition at line 880 of file openexr_api.cpp.
References 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 | ( | ExrHandle * | handle | ) |
Definition at line 1958 of file openexr_api.cpp.
|
static |
Definition at line 1939 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 1910 of file openexr_api.cpp.
Referenced by imb_exr_is_multi().
| 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) ) |
Definition at line 1315 of file openexr_api.cpp.
References ExrPass::chan_id, CLOG_WARN, ExrPass::internal_name, Vector< T, InlineBufferCapacity, Allocator >::is_empty(), ExrHandle::layers, LOG, ExrPass::rect, str, ExrPass::totchan, ExrPass::view, view, and ExrHandle::views.
Referenced by BKE_movieclip_convert_multilayer_ibuf(), render_result_new_from_exr(), and studiolight_load_equirect_image().
|
static |
Definition at line 1661 of file openexr_api.cpp.
References ExrPass::chan, ExrChannel::chan_id, ExrPass::chan_id, ExrHandle::channels, CLOG_ERROR, ELEM, exr_channels_in_multi_part_file(), exr_has_xyz_channels(), EXR_PASS_MAXCHAN, EXR_PASS_MAXNAME, EXR_TOT_MAXNAME, ExrHandle::height, ExrHandle::ifile, imb_exr_get_layer(), imb_exr_get_pass(), imb_exr_get_views(), imb_exr_split_channel_name(), ExrPass::internal_name, ExrHandle::layers, LOG, MEM_calloc_arrayN(), ExrChannel::name, ExrLayer::passes, ExrChannel::rect, ExrPass::rect, SNPRINTF, STRNCPY(), ExrPass::totchan, ExrChannel::view, ExrPass::view, view, ExrHandle::views, ExrHandle::width, ExrChannel::xstride, and ExrChannel::ystride.
Referenced by IMB_exr_begin_read(), and imb_exr_begin_read_mem().
|
static |
Definition at line 2028 of file openexr_api.cpp.
References IMB_colormanagement_space_get_named(), imb_exr_set_known_colorspace(), and ImFileColorSpace::metadata_colorspace.
Referenced by exr_channels_in_multi_part_file().
|
static |
Definition at line 1388 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 1409 of file openexr_api.cpp.
References BLI_strncpy(), and EXR_TOT_MAXNAME.
Referenced by imb_exr_split_channel_name().
| void IMB_exr_read_channels | ( | ExrHandle * | handle | ) |
Definition at line 1237 of file openexr_api.cpp.
Referenced by imb_load_openexr().
| bool IMB_exr_set_channel | ( | ExrHandle * | handle, |
| blender::StringRefNull | full_name, | ||
| int | xstride, | ||
| int | ystride, | ||
| float * | rect ) |
For reading, set the rect buffer to write into.
| passname | Full channel name including layer, pass, view and channel. |
Definition at line 1145 of file openexr_api.cpp.
|
static |
Definition at line 1983 of file openexr_api.cpp.
References CHROMATICITIES_ACES_2065_1, CHROMATICITIES_XYZ_E, COLOR_ROLE_ACES_INTERCHANGE, imb_check_chromaticity_matches(), IMB_colormanagement_colorspace_get_name(), IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_space_from_interop_id(), ImFileColorSpace::is_hdr_float, ImFileColorSpace::metadata_colorspace, and STRNCPY_UTF8.
Referenced by imb_exr_part_colorspace(), imb_load_filepath_thumbnail_openexr(), and imb_load_openexr().
|
static |
Definition at line 1424 of file openexr_api.cpp.
References BLI_assert, BLI_strcaseeq(), BLI_strncpy(), BLI_toupper_ascii(), ExrChannel::chan_id, CLOG_ERROR, ELEM, EXR_TOT_MAXNAME, imb_exr_pass_name_from_channel(), imb_exr_pass_name_from_channel_name(), imb_exr_split_token(), len, LOG, ExrChannel::name, and name.
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 1374 of file openexr_api.cpp.
References BLI_str_partition_ex(), and str.
Referenced by imb_exr_split_channel_name().
| void IMB_exr_write_channels | ( | ExrHandle * | handle | ) |
Definition at line 1160 of file openexr_api.cpp.
| void imb_initopenexr | ( | ) |
Definition at line 2369 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 404 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 2248 of file openexr_api.cpp.
References BLI_file_size(), CLOG_ERROR, ImBufFloatBuffer::data, ImBuf::float_buffer, IB_float_data, IMB_allocFromBuffer(), IMB_allocImBuf(), imb_exr_set_known_colorspace(), IMB_flipy(), IMB_freeImBuf(), LOG, and w().
| ImBuf * imb_load_openexr | ( | const uchar * | mem, |
| size_t | size, | ||
| int | flags, | ||
| ImFileColorSpace & | r_colorspace ) |
Definition at line 2051 of file openexr_api.cpp.
References BLI_YCC_ITU_BT709, CLG_LEVEL_DEBUG, CLOG_CHECK, CLOG_DEBUG, CLOG_ERROR, 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(), ImBuf::exrhandle, 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, LOG, ImBuf::metadata, IDProperty::name, OPENEXR_HALF, openexr_header_get_compression(), ImBuf::ppm, size(), ImBuf::x, ImBuf::y, and ycc_to_rgb().
| bool imb_save_openexr | ( | ImBuf * | ibuf, |
| const char * | filepath, | ||
| int | flags ) |
Definition at line 748 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 676 of file openexr_api.cpp.
References ImBuf::channels, CLOG_ERROR, ImBufFloatBuffer::data, ImbFormatOptions::flag, float, ImBuf::float_buffer, ImBuf::foptions, IB_mem, LOG, ImBuf::metadata, OPENEXR_CODEC_MASK, openexr_header_compression(), openexr_header_metadata_colorspace(), openexr_header_metadata_global(), ImBuf::planes, ImBuf::ppm, ImbFormatOptions::quality, ImBuf::x, and ImBuf::y.
Referenced by imb_save_openexr().
|
static |
Definition at line 573 of file openexr_api.cpp.
References _RGBAZ::a, _RGBAZ::b, ImBuf::byte_buffer, ImBuf::channels, CLOG_DEBUG, CLOG_ERROR, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImbFormatOptions::flag, float, ImBuf::float_buffer, float_to_half_safe(), ImBuf::foptions, _RGBAZ::g, HALF, i, IB_mem, LOG, ImBuf::metadata, OPENEXR_CODEC_MASK, openexr_header_compression(), openexr_header_metadata_colorspace(), openexr_header_metadata_global(), ImBuf::planes, ImBuf::ppm, ImbFormatOptions::quality, _RGBAZ::r, srgb_to_linearrgb(), ImBuf::x, and ImBuf::y.
Referenced by imb_save_openexr().
|
static |
Definition at line 426 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 469 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().
|
static |
Definition at line 564 of file openexr_api.cpp.
References data.
Referenced by openexr_header_metadata_multi().
|
static |
Definition at line 523 of file openexr_api.cpp.
References CHROMATICITIES_ACES_2065_1, COLOR_ROLE_ACES_INTERCHANGE, IMB_colormanagement_colorspace_get_name(), IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_space_get_interop_id(), blender::StringRefBase::is_empty(), and STREQ.
Referenced by IMB_exr_begin_write(), imb_save_openexr_float(), imb_save_openexr_half(), and openexr_header_metadata_colorspace().
Definition at line 546 of file openexr_api.cpp.
References ImBuf::byte_buffer, COLOR_ROLE_SCENE_LINEAR, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_space_get_named(), and openexr_header_metadata_colorspace().
|
static |
Definition at line 498 of file openexr_api.cpp.
References BKE_blender_version_string(), IDProperty::data, IDPropertyData::group, IDP_STRING, IDP_string_get, LISTBASE_FOREACH, blender::math::safe_divide(), and STR_ELEM.
Referenced by imb_save_openexr_float(), imb_save_openexr_half(), and openexr_header_metadata_multi().
|
static |
Definition at line 972 of file openexr_api.cpp.
References BKE_stamp_info_callback(), ExrHandle::has_layer_pass_names, openexr_header_metadata_callback(), openexr_header_metadata_global(), ExrHandle::views, and ExrHandle::write_multipart.
Referenced by IMB_exr_begin_write().
|
static |
Definition at line 413 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_colorspace().
|
static |
Definition at line 117 of file openexr_api.cpp.
Referenced by imb_exr_set_known_colorspace().
|
static |
Definition at line 105 of file openexr_api.cpp.