Blender V4.3
stereoimbuf.cc File Reference
#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)
 
intIMB_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)
 
floatIMB_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)
 
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)
 
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)
 

Function Documentation

◆ IMB_ImBufFromStereo3d()

◆ imb_stereo3d_data_init()

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

◆ IMB_stereo3d_from_rect()

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 )

◆ IMB_stereo3d_from_rectf()

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 )

◆ 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()

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

◆ imb_stereo3d_read_topbottom()

◆ imb_stereo3d_squeeze_ImBuf()

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

◆ imb_stereo3d_squeeze_rect()

◆ imb_stereo3d_squeeze_rectf()

◆ imb_stereo3d_unsqueeze_ImBuf()

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

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

◆ imb_stereo3d_write_topbottom()