Blender  V3.3
Classes | Typedefs | Functions
stereoimbuf.c File Reference
#include <stddef.h>
#include "IMB_imbuf.h"
#include "IMB_imbuf_types.h"
#include "IMB_allocimbuf.h"
#include "IMB_colormanagement_intern.h"
#include "IMB_filetype.h"
#include "IMB_metadata.h"
#include "imbuf.h"
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "BLI_math.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"

Go to the source code of this file.

Classes

struct  Stereo3DData
 

Typedefs

typedef struct Stereo3DData Stereo3DData
 

Functions

static void imb_stereo3d_write_doit (struct Stereo3DData *s3d_data, const struct Stereo3dFormat *s3d)
 
static void imb_stereo3d_read_doit (struct Stereo3DData *s3d_data, const struct Stereo3dFormat *s3d)
 
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)
 
Preparing To Call The Write Functions
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)
 
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)
 
static void imb_stereo3d_write_doit (Stereo3DData *s3d_data, const Stereo3dFormat *s3d)
 
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)
 
Preparing To Call The Read Functions
void IMB_ImBufFromStereo3d (const Stereo3dFormat *s3d, ImBuf *ibuf_stereo3d, ImBuf **r_ibuf_left, ImBuf **r_ibuf_right)
 
static void imb_stereo3d_read_doit (Stereo3DData *s3d_data, const Stereo3dFormat *s3d)
 

Typedef Documentation

◆ Stereo3DData

typedef struct Stereo3DData Stereo3DData

Function Documentation

◆ IMB_ImBufFromStereo3d()

void IMB_ImBufFromStereo3d ( const Stereo3dFormat s3d,
ImBuf ibuf_stereo3d,
ImBuf **  r_ibuf_left,
ImBuf **  r_ibuf_right 
)

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

ImBuf* IMB_stereo3d_ImBuf ( const ImageFormatData im_format,
ImBuf ibuf_left,
ImBuf ibuf_right 
)

◆ imb_stereo3d_read_anaglyph()

static void imb_stereo3d_read_anaglyph ( const Stereo3DData s3d,
enum eStereo3dAnaglyphType  mode 
)
static

◆ 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() [1/2]

static void imb_stereo3d_read_doit ( Stereo3DData s3d_data,
const Stereo3dFormat s3d 
)
static

◆ imb_stereo3d_read_doit() [2/2]

static void imb_stereo3d_read_doit ( struct Stereo3DData s3d_data,
const struct Stereo3dFormat s3d 
)
static

Referenced by IMB_ImBufFromStereo3d().

◆ imb_stereo3d_read_interlace()

static void imb_stereo3d_read_interlace ( const Stereo3DData s3d,
enum eStereo3dInterlaceType  mode,
const bool  swap 
)
static

◆ imb_stereo3d_read_sidebyside()

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

◆ imb_stereo3d_read_topbottom()

static void imb_stereo3d_read_topbottom ( const Stereo3DData s3d)
static

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

static void imb_stereo3d_squeeze_rect ( int *  rect,
const Stereo3dFormat s3d,
const size_t  x,
const size_t  y,
const size_t  channels 
)
static

◆ imb_stereo3d_squeeze_rectf()

static void imb_stereo3d_squeeze_rectf ( float rectf,
const Stereo3dFormat s3d,
const size_t  x,
const size_t  y,
const size_t  channels 
)
static

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

static void imb_stereo3d_write_anaglyph ( const Stereo3DData s3d,
enum eStereo3dAnaglyphType  mode 
)
static

◆ IMB_stereo3d_write_dimensions()

void IMB_stereo3d_write_dimensions ( char  mode,
bool  is_squeezed,
size_t  width,
size_t  height,
size_t *  r_width,
size_t *  r_height 
)

◆ imb_stereo3d_write_doit() [1/2]

static void imb_stereo3d_write_doit ( Stereo3DData s3d_data,
const Stereo3dFormat s3d 
)
static

◆ imb_stereo3d_write_doit() [2/2]

static void imb_stereo3d_write_doit ( struct Stereo3DData s3d_data,
const struct Stereo3dFormat s3d 
)
static

◆ imb_stereo3d_write_interlace()

static void imb_stereo3d_write_interlace ( const Stereo3DData s3d,
enum eStereo3dInterlaceType  mode,
const bool  swap 
)
static

◆ imb_stereo3d_write_sidebyside()

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

◆ imb_stereo3d_write_topbottom()

static void imb_stereo3d_write_topbottom ( const Stereo3DData s3d)
static