Blender V5.0
stereoimbuf.cc File Reference
#include <algorithm>
#include <cstddef>
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "BLI_math_vector.h"
#include "BLI_utildefines.h"
#include "DNA_scene_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)
ImBufIMB_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)
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)

Function Documentation

◆ IMB_ImBufFromStereo3d()

◆ imb_stereo3d_data_init()

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 )
static

◆ IMB_stereo3d_ImBuf()

◆ imb_stereo3d_read_anaglyph()

◆ IMB_stereo3d_read_dimensions()

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 )

◆ imb_stereo3d_read_doit()

◆ imb_stereo3d_read_interlace()

◆ imb_stereo3d_read_sidebyside()

void imb_stereo3d_read_sidebyside ( const Stereo3DData * s3d,
const bool crosseyed )
static

◆ imb_stereo3d_read_topbottom()

◆ imb_stereo3d_squeeze_ImBuf()

void imb_stereo3d_squeeze_ImBuf ( ImBuf * ibuf,
const Stereo3dFormat * s3d,
const size_t x,
const size_t y )
static

◆ imb_stereo3d_unsqueeze_ImBuf()

void imb_stereo3d_unsqueeze_ImBuf ( ImBuf * ibuf,
const Stereo3dFormat * s3d,
const size_t x,
const size_t y )
static

◆ imb_stereo3d_write_anaglyph()

◆ IMB_stereo3d_write_dimensions()

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 )

◆ imb_stereo3d_write_doit()

◆ imb_stereo3d_write_interlace()

◆ imb_stereo3d_write_sidebyside()

void imb_stereo3d_write_sidebyside ( const Stereo3DData * s3d,
const bool crosseyed )
static

◆ imb_stereo3d_write_topbottom()