|
Blender V4.3
|
#include <algorithm>#include <cstddef>#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"#include "imbuf.hh"#include "MEM_guardedalloc.h"#include "BLI_math_vector.h"#include "BLI_utildefines.h"#include "DNA_scene_types.h"#include "DNA_userdef_types.h"Go to the source code of this file.
Classes | |
| struct | Stereo3DData |
Functions | |
Preparing To Call The Write Functions | |
| static void | imb_stereo3d_write_doit (Stereo3DData *s3d_data, const Stereo3dFormat *s3d) |
| static void | imb_stereo3d_data_init (Stereo3DData *s3d_data, const bool is_float, const size_t x, const size_t y, const size_t channels, int *rect_left, int *rect_right, int *rect_stereo, float *rectf_left, float *rectf_right, float *rectf_stereo) |
| int * | IMB_stereo3d_from_rect (const ImageFormatData *im_format, const size_t x, const size_t y, const size_t channels, int *rect_left, int *rect_right) |
| float * | IMB_stereo3d_from_rectf (const ImageFormatData *im_format, const size_t x, const size_t y, const size_t channels, float *rectf_left, float *rectf_right) |
| ImBuf * | IMB_stereo3d_ImBuf (const ImageFormatData *im_format, ImBuf *ibuf_left, ImBuf *ibuf_right) |
Preparing To Call The Read Functions | |
| static void | imb_stereo3d_read_doit (Stereo3DData *s3d_data, const Stereo3dFormat *s3d) |
| void | IMB_ImBufFromStereo3d (const Stereo3dFormat *s3d, ImBuf *ibuf_stereo3d, ImBuf **r_ibuf_left, ImBuf **r_ibuf_right) |
Local Functions | |
| static void | imb_stereo3d_write_anaglyph (const Stereo3DData *s3d, enum eStereo3dAnaglyphType mode) |
| static void | imb_stereo3d_write_interlace (const Stereo3DData *s3d, enum eStereo3dInterlaceType mode, const bool swap) |
| static void | imb_stereo3d_write_sidebyside (const Stereo3DData *s3d, const bool crosseyed) |
| static void | imb_stereo3d_write_topbottom (const Stereo3DData *s3d) |
Dimension Utils | |
| void | IMB_stereo3d_write_dimensions (const char mode, const bool is_squeezed, const size_t width, const size_t height, size_t *r_width, size_t *r_height) |
| void | IMB_stereo3d_read_dimensions (const char mode, const bool is_squeezed, const size_t width, const size_t height, size_t *r_width, size_t *r_height) |
Un/Squeeze Frame | |
| static void | imb_stereo3d_squeeze_ImBuf (ImBuf *ibuf, const Stereo3dFormat *s3d, const size_t x, const size_t y) |
| static void | imb_stereo3d_unsqueeze_ImBuf (ImBuf *ibuf, const Stereo3dFormat *s3d, const size_t x, const size_t y) |
| static void | imb_stereo3d_squeeze_rectf (float *rectf, const Stereo3dFormat *s3d, const size_t x, const size_t y, const size_t channels) |
| static void | imb_stereo3d_squeeze_rect (int *rect, const Stereo3dFormat *s3d, const size_t x, const size_t y, const size_t channels) |
Reading Stereo ImBuf's | |
| static void | imb_stereo3d_read_anaglyph (const Stereo3DData *s3d, enum eStereo3dAnaglyphType mode) |
| static void | imb_stereo3d_read_interlace (const Stereo3DData *s3d, enum eStereo3dInterlaceType mode, const bool swap) |
| static void | imb_stereo3d_read_sidebyside (const Stereo3DData *s3d, const bool crosseyed) |
| static void | imb_stereo3d_read_topbottom (const Stereo3DData *s3d) |
| void IMB_ImBufFromStereo3d | ( | const Stereo3dFormat * | s3d, |
| ImBuf * | ibuf_stereo3d, | ||
| ImBuf ** | r_ibuf_left, | ||
| ImBuf ** | r_ibuf_right ) |
Reading a stereo encoded ibuf (*left) and generating two ibufs from it (*left and *right).
Definition at line 1282 of file stereoimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, Stereo3dFormat::display_mode, Stereo3dFormat::flag, ImBuf::flags, ImBuf::float_buffer, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_allocImBuf(), IMB_freeImBuf(), imb_stereo3d_data_init(), IMB_stereo3d_read_dimensions(), imb_stereo3d_read_doit(), imb_stereo3d_unsqueeze_ImBuf(), IMB_stereo3d_write_dimensions(), ImBuf::planes, S3D_SQUEEZED_FRAME, ImBuf::x, and ImBuf::y.
Referenced by image_load_image_file(), image_load_movie_file(), seq_render_image_strip(), and seq_render_movie_strip().
|
static |
Definition at line 668 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, x, Stereo3DData::y, and y.
Referenced by IMB_ImBufFromStereo3d(), IMB_stereo3d_from_rect(), IMB_stereo3d_from_rectf(), and IMB_stereo3d_ImBuf().
| int * IMB_stereo3d_from_rect | ( | const ImageFormatData * | im_format, |
| const size_t | x, | ||
| const size_t | y, | ||
| const size_t | channels, | ||
| int * | rect_left, | ||
| int * | rect_right ) |
Definition at line 692 of file stereoimbuf.cc.
References ImageFormatData::depth, Stereo3dFormat::display_mode, imb_stereo3d_data_init(), imb_stereo3d_squeeze_rect(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), MEM_mallocN, and ImageFormatData::stereo3d_format.
| float * IMB_stereo3d_from_rectf | ( | const ImageFormatData * | im_format, |
| const size_t | x, | ||
| const size_t | y, | ||
| const size_t | channels, | ||
| float * | rectf_left, | ||
| float * | rectf_right ) |
Definition at line 725 of file stereoimbuf.cc.
References ImageFormatData::depth, Stereo3dFormat::display_mode, imb_stereo3d_data_init(), imb_stereo3d_squeeze_rectf(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), MEM_mallocN, and ImageFormatData::stereo3d_format.
| ImBuf * IMB_stereo3d_ImBuf | ( | const ImageFormatData * | im_format, |
| ImBuf * | ibuf_left, | ||
| ImBuf * | ibuf_right ) |
Left/right are always float.
Definition at line 759 of file stereoimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImageFormatData::depth, Stereo3dFormat::display_mode, ImBuf::flags, ImBuf::float_buffer, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_allocImBuf(), imb_stereo3d_data_init(), imb_stereo3d_squeeze_ImBuf(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), ImBuf::planes, ImageFormatData::stereo3d_format, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_render_write(), image_save_single(), and RE_WriteRenderViewsMovie().
|
static |
Definition at line 827 of file stereoimbuf.cc.
References b, Stereo3DData::channels, Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_read_doit().
| void IMB_stereo3d_read_dimensions | ( | const char | mode, |
| const bool | is_squeezed, | ||
| const size_t | width, | ||
| const size_t | height, | ||
| size_t * | r_width, | ||
| size_t * | r_height ) |
Definition at line 529 of file stereoimbuf.cc.
References S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, and S3D_DISPLAY_TOPBOTTOM.
Referenced by IMB_ImBufFromStereo3d().
|
static |
Definition at line 1343 of file stereoimbuf.cc.
References Stereo3dFormat::anaglyph_type, Stereo3dFormat::display_mode, Stereo3dFormat::flag, imb_stereo3d_read_anaglyph(), imb_stereo3d_read_interlace(), imb_stereo3d_read_sidebyside(), imb_stereo3d_read_topbottom(), Stereo3dFormat::interlace_type, S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, S3D_INTERLACE_SWAP, and S3D_SIDEBYSIDE_CROSSEYED.
Referenced by IMB_ImBufFromStereo3d().
|
static |
Definition at line 925 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, copy_v3_v3(), copy_v3_v3_uchar(), copy_v4_v4(), copy_v4_v4_uchar(), Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, S3D_INTERLACE_CHECKERBOARD, S3D_INTERLACE_COLUMN, S3D_INTERLACE_ROW, Stereo3DData::stereo, Stereo3DData::x, x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_read_doit().
|
static |
Definition at line 1183 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, int, Stereo3DData::is_float, l, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_read_doit().
|
static |
Definition at line 1232 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_read_doit().
|
static |
Definition at line 563 of file stereoimbuf.cc.
References Bilinear, Stereo3dFormat::display_mode, ELEM, Stereo3dFormat::flag, IMB_scale(), S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, and S3D_SQUEEZED_FRAME.
Referenced by IMB_stereo3d_ImBuf().
|
static |
Definition at line 629 of file stereoimbuf.cc.
References Bilinear, ImBuf::byte_buffer, ImBufByteBuffer::data, Stereo3dFormat::display_mode, ELEM, Stereo3dFormat::flag, IB_PROFILE_SRGB, IB_rect, IMB_allocImBuf(), IMB_buffer_byte_from_byte(), IMB_freeImBuf(), IMB_scale(), IMB_stereo3d_write_dimensions(), S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, and S3D_SQUEEZED_FRAME.
Referenced by IMB_stereo3d_from_rect().
|
static |
Definition at line 595 of file stereoimbuf.cc.
References Bilinear, ImBufFloatBuffer::data, Stereo3dFormat::display_mode, ELEM, Stereo3dFormat::flag, ImBuf::float_buffer, IB_PROFILE_LINEAR_RGB, IB_rectfloat, IMB_allocImBuf(), IMB_buffer_float_from_float(), IMB_freeImBuf(), IMB_scale(), IMB_stereo3d_write_dimensions(), S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, and S3D_SQUEEZED_FRAME.
Referenced by IMB_stereo3d_from_rectf().
|
static |
Definition at line 579 of file stereoimbuf.cc.
References Bilinear, Stereo3dFormat::display_mode, ELEM, Stereo3dFormat::flag, IMB_scale(), S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, and S3D_SQUEEZED_FRAME.
Referenced by IMB_ImBufFromStereo3d().
|
static |
Definition at line 45 of file stereoimbuf.cc.
References b, Stereo3DData::channels, Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_write_doit().
| void IMB_stereo3d_write_dimensions | ( | const char | mode, |
| const bool | is_squeezed, | ||
| const size_t | width, | ||
| const size_t | height, | ||
| size_t * | r_width, | ||
| size_t * | r_height ) |
Definition at line 501 of file stereoimbuf.cc.
References S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, and S3D_DISPLAY_TOPBOTTOM.
Referenced by BKE_scene_multiview_videos_dimensions_get(), IMB_ImBufFromStereo3d(), IMB_stereo3d_from_rect(), IMB_stereo3d_from_rectf(), IMB_stereo3d_ImBuf(), imb_stereo3d_squeeze_rect(), and imb_stereo3d_squeeze_rectf().
|
static |
Definition at line 799 of file stereoimbuf.cc.
References Stereo3dFormat::anaglyph_type, Stereo3dFormat::display_mode, Stereo3dFormat::flag, imb_stereo3d_write_anaglyph(), imb_stereo3d_write_interlace(), imb_stereo3d_write_sidebyside(), imb_stereo3d_write_topbottom(), Stereo3dFormat::interlace_type, S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, S3D_DISPLAY_TOPBOTTOM, S3D_INTERLACE_SWAP, and S3D_SIDEBYSIDE_CROSSEYED.
Referenced by IMB_stereo3d_from_rect(), IMB_stereo3d_from_rectf(), and IMB_stereo3d_ImBuf().
|
static |
Definition at line 143 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, copy_v3_v3(), copy_v3_v3_uchar(), copy_v4_v4(), copy_v4_v4_uchar(), Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, S3D_INTERLACE_CHECKERBOARD, S3D_INTERLACE_COLUMN, S3D_INTERLACE_ROW, Stereo3DData::stereo, Stereo3DData::x, x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_write_doit().
|
static |
Definition at line 401 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, int, Stereo3DData::is_float, l, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_write_doit().
|
static |
Definition at line 449 of file stereoimbuf.cc.
References channels(), Stereo3DData::channels, Stereo3DData::is_float, Stereo3DData::left, Stereo3DData::rect, Stereo3DData::rectf, Stereo3DData::right, Stereo3DData::stereo, Stereo3DData::x, Stereo3DData::y, and y.
Referenced by imb_stereo3d_write_doit().