Blender  V2.93
Macros | Typedefs | Enumerations | Functions
IMB_imbuf.h File Reference
#include "../blenlib/BLI_sys_types.h"

Go to the source code of this file.

Macros

#define IM_MAX_SPACE   64
 
#define FILTER_MASK_NULL   0
 
#define FILTER_MASK_MARGIN   1
 
#define FILTER_MASK_USED   2
 

Typedefs

typedef enum IMB_BlendMode IMB_BlendMode
 
typedef enum IMB_Timecode_Type IMB_Timecode_Type
 
typedef enum IMB_Proxy_Size IMB_Proxy_Size
 
typedef void(* ScanlineThreadFunc) (void *custom_data, int start_scanline, int num_scanlines)
 

Enumerations

enum  IMB_BlendMode {
  IMB_BLEND_MIX = 0 , IMB_BLEND_ADD = 1 , IMB_BLEND_SUB = 2 , IMB_BLEND_MUL = 3 ,
  IMB_BLEND_LIGHTEN = 4 , IMB_BLEND_DARKEN = 5 , IMB_BLEND_ERASE_ALPHA = 6 , IMB_BLEND_ADD_ALPHA = 7 ,
  IMB_BLEND_OVERLAY = 8 , IMB_BLEND_HARDLIGHT = 9 , IMB_BLEND_COLORBURN = 10 , IMB_BLEND_LINEARBURN = 11 ,
  IMB_BLEND_COLORDODGE = 12 , IMB_BLEND_SCREEN = 13 , IMB_BLEND_SOFTLIGHT = 14 , IMB_BLEND_PINLIGHT = 15 ,
  IMB_BLEND_VIVIDLIGHT = 16 , IMB_BLEND_LINEARLIGHT = 17 , IMB_BLEND_DIFFERENCE = 18 , IMB_BLEND_EXCLUSION = 19 ,
  IMB_BLEND_HUE = 20 , IMB_BLEND_SATURATION = 21 , IMB_BLEND_LUMINOSITY = 22 , IMB_BLEND_COLOR = 23 ,
  IMB_BLEND_INTERPOLATE = 24 , IMB_BLEND_COPY = 1000 , IMB_BLEND_COPY_RGB = 1001 , IMB_BLEND_COPY_ALPHA = 1002
}
 
enum  IMB_Timecode_Type {
  IMB_TC_NONE = 0 , IMB_TC_RECORD_RUN = 1 , IMB_TC_FREE_RUN = 2 , IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN = 4 ,
  IMB_TC_RECORD_RUN_NO_GAPS = 8 , IMB_TC_MAX_SLOT = 4
}
 
enum  IMB_Proxy_Size {
  IMB_PROXY_NONE = 0 , IMB_PROXY_25 = 1 , IMB_PROXY_50 = 2 , IMB_PROXY_75 = 4 ,
  IMB_PROXY_100 = 8 , IMB_PROXY_MAX_SLOT = 4
}
 

Functions

void IMB_init (void)
 
void IMB_exit (void)
 
struct ImBufIMB_ibImageFromMemory (const unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
 
struct ImBufIMB_testiffname (const char *filepath, int flags)
 
struct ImBufIMB_loadiffname (const char *filepath, int flags, char colorspace[IM_MAX_SPACE])
 
void IMB_freeImBuf (struct ImBuf *ibuf)
 
struct ImBufIMB_allocImBuf (unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
 
bool IMB_initImBuf (struct ImBuf *ibuf, unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
 
struct ImBufIMB_allocFromBuffer (const unsigned int *rect, const float *rectf, unsigned int w, unsigned int h, unsigned int channels)
 
void IMB_refImBuf (struct ImBuf *ibuf)
 
struct ImBufIMB_makeSingleUser (struct ImBuf *ibuf)
 
struct ImBufIMB_dupImBuf (const struct ImBuf *ibuf1)
 
bool addzbufImBuf (struct ImBuf *ibuf)
 
bool addzbuffloatImBuf (struct ImBuf *ibuf)
 
size_t IMB_get_size_in_memory (struct ImBuf *ibuf)
 
void IMB_blend_color_byte (unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], IMB_BlendMode mode)
 
void IMB_blend_color_float (float dst[4], const float src1[4], const float src2[4], IMB_BlendMode mode)
 
void IMB_rect_crop (struct ImBuf *ibuf, const struct rcti *crop)
 
void IMB_rect_size_set (struct ImBuf *ibuf, const uint size[2])
 
void IMB_rectclip (struct ImBuf *dbuf, const struct ImBuf *sbuf, int *destx, int *desty, int *srcx, int *srcy, int *width, int *height)
 
void IMB_rectcpy (struct ImBuf *dbuf, const struct ImBuf *sbuf, int destx, int desty, int srcx, int srcy, int width, int height)
 
void IMB_rectblend (struct ImBuf *dbuf, const struct ImBuf *obuf, const struct ImBuf *sbuf, unsigned short *dmask, const unsigned short *curvemask, const unsigned short *texmask, float mask_max, int destx, int desty, int origx, int origy, int srcx, int srcy, int width, int height, IMB_BlendMode mode, bool accumulate)
 
void IMB_rectblend_threaded (struct ImBuf *dbuf, const struct ImBuf *obuf, const struct ImBuf *sbuf, unsigned short *dmask, const unsigned short *curvemask, const unsigned short *texmask, float mask_max, int destx, int desty, int origx, int origy, int srcx, int srcy, int width, int height, IMB_BlendMode mode, bool accumulate)
 
void IMB_anim_set_index_dir (struct anim *anim, const char *dir)
 
void IMB_anim_get_fname (struct anim *anim, char *file, int size)
 
int IMB_anim_index_get_frame_index (struct anim *anim, IMB_Timecode_Type tc, int position)
 
IMB_Proxy_Size IMB_anim_proxy_get_existing (struct anim *anim)
 
struct IndexBuildContextIMB_anim_index_rebuild_context (struct anim *anim, IMB_Timecode_Type tcs_in_use, IMB_Proxy_Size proxy_sizes_in_use, int quality, const bool overwrite, struct GSet *file_list)
 
void IMB_anim_index_rebuild (struct IndexBuildContext *context, short *stop, short *do_update, float *progress)
 
void IMB_anim_index_rebuild_finish (struct IndexBuildContext *context, short stop)
 
int IMB_anim_get_duration (struct anim *anim, IMB_Timecode_Type tc)
 
double IMD_anim_get_offset (struct anim *anim)
 
bool IMB_anim_get_fps (struct anim *anim, short *frs_sec, float *frs_sec_base, bool no_av_base)
 
struct animIMB_open_anim (const char *name, int ib_flags, int streamindex, char colorspace[IM_MAX_SPACE])
 
void IMB_suffix_anim (struct anim *anim, const char *suffix)
 
void IMB_close_anim (struct anim *anim)
 
void IMB_close_anim_proxies (struct anim *anim)
 
bool IMB_anim_can_produce_frames (const struct anim *anim)
 
int ismovie (const char *filepath)
 
int IMB_anim_get_image_width (struct anim *anim)
 
int IMB_anim_get_image_height (struct anim *anim)
 
struct ImBufIMB_anim_absolute (struct anim *anim, int position, IMB_Timecode_Type tc, IMB_Proxy_Size preview_size)
 
struct ImBufIMB_anim_previewframe (struct anim *anim)
 
void IMB_free_anim (struct anim *anim)
 
void IMB_filter (struct ImBuf *ibuf)
 
void IMB_mask_filter_extend (char *mask, int width, int height)
 
void IMB_mask_clear (struct ImBuf *ibuf, const char *mask, int val)
 
void IMB_filter_extend (struct ImBuf *ibuf, char *mask, int filter)
 
void IMB_makemipmap (struct ImBuf *ibuf, int use_filter)
 
void IMB_remakemipmap (struct ImBuf *ibuf, int use_filter)
 
struct ImBufIMB_getmipmap (struct ImBuf *ibuf, int level)
 
void IMB_tile_cache_params (int totthread, int maxmem)
 
unsigned int * IMB_gettile (struct ImBuf *ibuf, int tx, int ty, int thread)
 
void IMB_tiles_to_rect (struct ImBuf *ibuf)
 
void IMB_filtery (struct ImBuf *ibuf)
 
struct ImBufIMB_onehalf (struct ImBuf *ibuf1)
 
bool IMB_scaleImBuf (struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
 
bool IMB_scalefastImBuf (struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
 
void IMB_scaleImBuf_threaded (struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
 
bool IMB_saveiff (struct ImBuf *ibuf, const char *filepath, int flags)
 
bool IMB_prepare_write_ImBuf (const bool isfloat, struct ImBuf *ibuf)
 
bool IMB_ispic (const char *filepath)
 
bool IMB_ispic_type_matches (const char *filepath, int filetype)
 
int IMB_ispic_type_from_memory (const unsigned char *buf, const size_t buf_size)
 
int IMB_ispic_type (const char *filepath)
 
bool IMB_isanim (const char *filepath)
 
int imb_get_anim_type (const char *filepath)
 
bool IMB_isfloat (const struct ImBuf *ibuf)
 
bool IMB_alpha_affects_rgb (const struct ImBuf *ibuf)
 
void IMB_rect_from_float (struct ImBuf *ibuf)
 
void IMB_float_from_rect (struct ImBuf *ibuf)
 
void IMB_color_to_bw (struct ImBuf *ibuf)
 
void IMB_saturation (struct ImBuf *ibuf, float sat)
 
void IMB_buffer_byte_from_float (unsigned char *rect_to, const float *rect_from, int channels_from, float dither, int profile_to, int profile_from, bool predivide, int width, int height, int stride_to, int stride_from)
 
void IMB_buffer_byte_from_float_mask (unsigned char *rect_to, const float *rect_from, int channels_from, float dither, bool predivide, int width, int height, int stride_to, int stride_from, char *mask)
 
void IMB_buffer_float_from_byte (float *rect_to, const unsigned char *rect_from, int profile_to, int profile_from, bool predivide, int width, int height, int stride_to, int stride_from)
 
void IMB_buffer_float_from_float (float *rect_to, const float *rect_from, int channels_from, int profile_to, int profile_from, bool predivide, int width, int height, int stride_to, int stride_from)
 
void IMB_buffer_float_from_float_threaded (float *rect_to, const float *rect_from, int channels_from, int profile_to, int profile_from, bool predivide, int width, int height, int stride_to, int stride_from)
 
void IMB_buffer_float_from_float_mask (float *rect_to, const float *rect_from, int channels_from, int width, int height, int stride_to, int stride_from, char *mask)
 
void IMB_buffer_byte_from_byte (unsigned char *rect_to, const unsigned char *rect_from, int profile_to, int profile_from, bool predivide, int width, int height, int stride_to, int stride_from)
 
void IMB_buffer_float_unpremultiply (float *buf, int width, int height)
 
void IMB_buffer_float_premultiply (float *buf, int width, int height)
 
void IMB_convert_rgba_to_abgr (struct ImBuf *ibuf)
 
void bicubic_interpolation (struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
 
void nearest_interpolation (struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
 
void bilinear_interpolation (struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
 
void bicubic_interpolation_color (struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
 
void nearest_interpolation_color (struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
 
void nearest_interpolation_color_wrap (struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
 
void bilinear_interpolation_color (struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
 
void bilinear_interpolation_color_wrap (struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
 
void IMB_alpha_under_color_float (float *rect_float, int x, int y, float backcol[3])
 
void IMB_alpha_under_color_byte (unsigned char *rect, int x, int y, const float backcol[3])
 
void IMB_sampleImageAtLocation (struct ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4])
 
struct ImBufIMB_loadifffile (int file, const char *filepath, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
 
struct ImBufIMB_half_x (struct ImBuf *ibuf1)
 
struct ImBufIMB_double_fast_x (struct ImBuf *ibuf1)
 
struct ImBufIMB_double_x (struct ImBuf *ibuf1)
 
struct ImBufIMB_half_y (struct ImBuf *ibuf1)
 
struct ImBufIMB_double_fast_y (struct ImBuf *ibuf1)
 
struct ImBufIMB_double_y (struct ImBuf *ibuf1)
 
void IMB_flipx (struct ImBuf *ibuf)
 
void IMB_flipy (struct ImBuf *ibuf)
 
void IMB_premultiply_alpha (struct ImBuf *ibuf)
 
void IMB_unpremultiply_alpha (struct ImBuf *ibuf)
 
void IMB_freezbufImBuf (struct ImBuf *ibuf)
 
void IMB_freezbuffloatImBuf (struct ImBuf *ibuf)
 
void IMB_rectfill (struct ImBuf *drect, const float col[4])
 
void IMB_rectfill_area (struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2, struct ColorManagedDisplay *display)
 
void IMB_rectfill_area_replace (const struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2)
 
void IMB_rectfill_alpha (struct ImBuf *ibuf, const float value)
 
void buf_rectfill_area (unsigned char *rect, float *rectf, int width, int height, const float col[4], struct ColorManagedDisplay *display, int x1, int y1, int x2, int y2)
 
void * imb_alloc_pixels (unsigned int x, unsigned int y, unsigned int channels, size_t typesize, const char *name)
 
bool imb_addrectImBuf (struct ImBuf *ibuf)
 
void imb_freerectImBuf (struct ImBuf *ibuf)
 
bool imb_addrectfloatImBuf (struct ImBuf *ibuf)
 
void imb_freerectfloatImBuf (struct ImBuf *ibuf)
 
void imb_freemipmapImBuf (struct ImBuf *ibuf)
 
bool imb_addtilesImBuf (struct ImBuf *ibuf)
 
void imb_freetilesImBuf (struct ImBuf *ibuf)
 
void imb_freerectImbuf_all (struct ImBuf *ibuf)
 
void IMB_processor_apply_threaded (int buffer_lines, int handle_size, void *init_customdata, void(init_handle)(void *handle, int start_line, int tot_line, void *customdata), void *(do_thread)(void *))
 
void IMB_processor_apply_threaded_scanlines (int total_scanlines, ScanlineThreadFunc do_thread, void *custom_data)
 
void IMB_ffmpeg_init (void)
 
const char * IMB_ffmpeg_last_error (void)
 
struct GPUTextureIMB_create_gpu_texture (const char *name, struct ImBuf *ibuf, bool use_high_bitdepth, bool use_premult, bool limit_gl_texture_size)
 
struct GPUTextureIMB_touch_gpu_texture (const char *name, struct ImBuf *ibuf, int w, int h, int layers, bool use_high_bitdepth)
 
void IMB_update_gpu_texture_sub (struct GPUTexture *tex, struct ImBuf *ibuf, int x, int y, int z, int w, int h, bool use_high_bitdepth, bool use_premult)
 
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)
 
int * IMB_stereo3d_from_rect (struct 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 (struct ImageFormatData *im_format, const size_t x, const size_t y, const size_t channels, float *rectf_left, float *rectf_right)
 
struct ImBufIMB_stereo3d_ImBuf (struct ImageFormatData *im_format, struct ImBuf *ibuf_left, struct ImBuf *ibuf_right)
 
void IMB_ImBufFromStereo3d (struct Stereo3dFormat *s3d, struct ImBuf *ibuf_stereo, struct ImBuf **r_ibuf_left, struct ImBuf **r_ibuf_right)
 

Macro Definition Documentation

◆ FILTER_MASK_MARGIN

#define FILTER_MASK_MARGIN   1

Definition at line 420 of file IMB_imbuf.h.

◆ FILTER_MASK_NULL

#define FILTER_MASK_NULL   0
Attention
Defined in filter.c

Definition at line 419 of file IMB_imbuf.h.

◆ FILTER_MASK_USED

#define FILTER_MASK_USED   2

Definition at line 421 of file IMB_imbuf.h.

◆ IM_MAX_SPACE

#define IM_MAX_SPACE   64

Definition at line 65 of file IMB_imbuf.h.

Typedef Documentation

◆ IMB_BlendMode

Attention
Defined in rectop.c

◆ IMB_Proxy_Size

◆ IMB_Timecode_Type

Attention
Defined in indexer.c

◆ ScanlineThreadFunc

typedef void(* ScanlineThreadFunc) (void *custom_data, int start_scanline, int num_scanlines)

Definition at line 735 of file IMB_imbuf.h.

Enumeration Type Documentation

◆ IMB_BlendMode

Attention
Defined in rectop.c
Enumerator
IMB_BLEND_MIX 
IMB_BLEND_ADD 
IMB_BLEND_SUB 
IMB_BLEND_MUL 
IMB_BLEND_LIGHTEN 
IMB_BLEND_DARKEN 
IMB_BLEND_ERASE_ALPHA 
IMB_BLEND_ADD_ALPHA 
IMB_BLEND_OVERLAY 
IMB_BLEND_HARDLIGHT 
IMB_BLEND_COLORBURN 
IMB_BLEND_LINEARBURN 
IMB_BLEND_COLORDODGE 
IMB_BLEND_SCREEN 
IMB_BLEND_SOFTLIGHT 
IMB_BLEND_PINLIGHT 
IMB_BLEND_VIVIDLIGHT 
IMB_BLEND_LINEARLIGHT 
IMB_BLEND_DIFFERENCE 
IMB_BLEND_EXCLUSION 
IMB_BLEND_HUE 
IMB_BLEND_SATURATION 
IMB_BLEND_LUMINOSITY 
IMB_BLEND_COLOR 
IMB_BLEND_INTERPOLATE 
IMB_BLEND_COPY 
IMB_BLEND_COPY_RGB 
IMB_BLEND_COPY_ALPHA 

Definition at line 197 of file IMB_imbuf.h.

◆ IMB_Proxy_Size

Enumerator
IMB_PROXY_NONE 
IMB_PROXY_25 
IMB_PROXY_50 
IMB_PROXY_75 
IMB_PROXY_100 
IMB_PROXY_MAX_SLOT 

Definition at line 317 of file IMB_imbuf.h.

◆ IMB_Timecode_Type

Attention
Defined in indexer.c
Enumerator
IMB_TC_NONE 

Don't use time-code files at all.

IMB_TC_RECORD_RUN 

use images in the order as they are recorded (currently, this is the only one implemented and is a sane default)

IMB_TC_FREE_RUN 

Use global timestamp written by recording device (prosumer camcorders e.g. can do that).

IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN 

Interpolate a global timestamp using the record date and time written by recording device (every consumer camcorder can do that :) )

IMB_TC_RECORD_RUN_NO_GAPS 
IMB_TC_MAX_SLOT 

Definition at line 298 of file IMB_imbuf.h.

Function Documentation

◆ addzbuffloatImBuf()

bool addzbuffloatImBuf ( struct ImBuf ibuf)

◆ addzbufImBuf()

bool addzbufImBuf ( struct ImBuf ibuf)

◆ bicubic_interpolation()

void bicubic_interpolation ( struct ImBuf in,
struct ImBuf out,
float  u,
float  v,
int  xout,
int  yout 
)
Attention
defined in imageprocess.c

Definition at line 109 of file imageprocess.c.

References bicubic_interpolation_color(), NULL, pixel_from_buffer(), ImBuf::rect, ImBuf::rect_float, and v.

◆ bicubic_interpolation_color()

void bicubic_interpolation_color ( struct ImBuf in,
unsigned char  outI[4],
float  outF[4],
float  u,
float  v 
)

◆ bilinear_interpolation()

void bilinear_interpolation ( struct ImBuf in,
struct ImBuf out,
float  u,
float  v,
int  xout,
int  yout 
)

◆ bilinear_interpolation_color()

void bilinear_interpolation_color ( struct ImBuf in,
unsigned char  outI[4],
float  outF[4],
float  u,
float  v 
)

◆ bilinear_interpolation_color_wrap()

void bilinear_interpolation_color_wrap ( struct ImBuf in,
unsigned char  outI[4],
float  outF[4],
float  u,
float  v 
)

◆ buf_rectfill_area()

void buf_rectfill_area ( unsigned char *  rect,
float rectf,
int  width,
int  height,
const float  col[4],
struct ColorManagedDisplay display,
int  x1,
int  y1,
int  x2,
int  y2 
)

◆ imb_addrectfloatImBuf()

bool imb_addrectfloatImBuf ( struct ImBuf ibuf)

◆ imb_addrectImBuf()

bool imb_addrectImBuf ( struct ImBuf ibuf)

◆ imb_addtilesImBuf()

bool imb_addtilesImBuf ( struct ImBuf ibuf)

Definition at line 462 of file allocimbuf.c.

References IB_tiles, ImBuf::mall, MEM_callocN, NULL, ImBuf::tiles, ImBuf::xtiles, and ImBuf::ytiles.

Referenced by imb_loadtiff().

◆ imb_alloc_pixels()

void* imb_alloc_pixels ( unsigned int  x,
unsigned int  y,
unsigned int  channels,
size_t  typesize,
const char *  name 
)

◆ IMB_allocFromBuffer()

struct ImBuf* IMB_allocFromBuffer ( const unsigned int *  rect,
const float rectf,
unsigned int  w,
unsigned int  h,
unsigned int  channels 
)

◆ IMB_allocImBuf()

struct ImBuf* IMB_allocImBuf ( unsigned int  x,
unsigned int  y,
unsigned char  planes,
unsigned int  flags 
)
Attention
Defined in allocimbuf.c

Definition at line 478 of file allocimbuf.c.

References ImBuf::flags, IMB_freeImBuf(), IMB_initImBuf(), MEM_mallocN, NULL, ImBuf::planes, x, and y.

Referenced by accessor_get_ibuf(), add_ibuf_size(), anim_getnew(), BKE_main_thumbnail_to_imbuf(), BKE_previewimg_to_imbuf(), BKE_tracking_get_search_imbuf(), BKE_tracking_sample_pattern(), BKE_tracking_stabilize_frame(), brush_painter_imbuf_new(), brush_painter_imbuf_partial_update(), colormanage_cache_put(), blender::compositor::OutputStereoOperation::deinitExecution(), blender::compositor::OutputSingleLayerOperation::deinitExecution(), dynamicPaint_outputSurfaceImage(), ED_view3d_draw_offscreen_imbuf(), filelist_init_icons(), float_image_to_ibuf(), gpencil_render_offscreen(), GHOST_SystemCocoa::handleDraggingEvent(), ibJpegImageFromCinfo(), icon_draw_rect(), image_acquire_ibuf(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_sequence_multilayer(), IMB_allocFromBuffer(), imb_bmp_decode(), IMB_double_fast_x(), IMB_double_fast_y(), IMB_dupImBuf(), IMB_half_x(), IMB_half_y(), IMB_ImBufFromStereo3d(), imb_load_dds(), imb_load_dpx_cineon(), imb_load_jp2_stream(), imb_load_openexr(), imb_loadhdr(), imb_loadiris(), imb_loadpng(), imb_loadtarga(), imb_loadtiff(), IMB_makemipmap(), imb_oiio_load_image(), imb_oiio_load_image_float(), IMB_onehalf(), imb_read_tiff_pixels(), IMB_remakemipmap(), IMB_stereo3d_ImBuf(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_load_font(), imbuf_alloc_temp_tile(), input_preprocess(), Freestyle::Canvas::loadMap(), M_imbuf_new(), make_grayscale_ibuf_copy(), make_histogram_view_from_ibuf_byte(), make_histogram_view_from_ibuf_float(), make_sep_waveform_view_from_ibuf_byte(), make_sep_waveform_view_from_ibuf_float(), make_vectorscope_view_from_ibuf_byte(), make_vectorscope_view_from_ibuf_float(), make_waveform_view_from_ibuf_byte(), make_waveform_view_from_ibuf_float(), make_zebra_view_from_ibuf(), paint_2d_lift_clone(), prepare_effect_imbufs(), RE_layer_load_from_file(), render_result_rect_to_ibuf(), Freestyle::SteerableViewMap::saveSteerableViewMap(), screen_opengl_render_doit(), screenshot_exec(), seq_disk_cache_read_file(), seq_render_effect_strip_impl(), seq_render_mask(), seq_render_scene_strip(), seq_render_strip(), seq_render_strip_stack(), thumb_create_ex(), and write_external_bake_pixels().

◆ IMB_alpha_affects_rgb()

bool IMB_alpha_affects_rgb ( const struct ImBuf ibuf)

◆ IMB_alpha_under_color_byte()

void IMB_alpha_under_color_byte ( unsigned char *  rect,
int  x,
int  y,
const float  backcol[3] 
)

Definition at line 469 of file imageprocess.c.

References Freestyle::a, alpha, mul(), x, and y.

Referenced by IMB_colormanagement_imbuf_for_write().

◆ IMB_alpha_under_color_float()

void IMB_alpha_under_color_float ( float rect_float,
int  x,
int  y,
float  backcol[3] 
)

Definition at line 455 of file imageprocess.c.

References Freestyle::a, madd_v3_v3fl(), mul(), x, and y.

Referenced by IMB_colormanagement_imbuf_for_write().

◆ IMB_anim_absolute()

struct ImBuf* IMB_anim_absolute ( struct anim anim,
int  position,
IMB_Timecode_Type  tc,
IMB_Proxy_Size  preview_size 
)

◆ IMB_anim_can_produce_frames()

bool IMB_anim_can_produce_frames ( const struct anim anim)

Definition at line 309 of file anim_movie.c.

References anim::avi, NULL, and UNUSED_VARS.

Referenced by SEQ_add_movie_reload_if_needed().

◆ IMB_anim_get_duration()

int IMB_anim_get_duration ( struct anim anim,
IMB_Timecode_Type  tc 
)

◆ IMB_anim_get_fname()

void IMB_anim_get_fname ( struct anim anim,
char *  file,
int  size 
)

Definition at line 402 of file indexer.c.

References BLI_split_dirfile(), BLI_strncpy(), file, FILE_MAXFILE, anim::name, and size().

Referenced by seq_proxy_index_dir_set().

◆ IMB_anim_get_fps()

bool IMB_anim_get_fps ( struct anim anim,
short *  frs_sec,
float frs_sec_base,
bool  no_av_base 
)

Return the fps contained in movie files (function rval is false, and frs_sec and frs_sec_base untouched if none available!)

Definition at line 1691 of file anim_movie.c.

References BLI_assert, double(), float(), anim::frs_sec, anim::frs_sec_base, and UNUSED_VARS.

Referenced by BKE_movieclip_get_fps(), SEQ_add_movie_strip(), SEQ_time_sequence_get_fps(), uiTemplateMovieclipInformation(), and wm_main_playanim_intern().

◆ IMB_anim_get_image_height()

int IMB_anim_get_image_height ( struct anim anim)

Definition at line 1729 of file anim_movie.c.

References anim::y.

Referenced by SEQ_add_movie_strip().

◆ IMB_anim_get_image_width()

int IMB_anim_get_image_width ( struct anim anim)

Definition at line 1724 of file anim_movie.c.

References anim::x.

Referenced by SEQ_add_movie_strip().

◆ IMB_anim_index_get_frame_index()

int IMB_anim_index_get_frame_index ( struct anim anim,
IMB_Timecode_Type  tc,
int  position 
)

Definition at line 1480 of file indexer.c.

References IMB_anim_open_index(), and IMB_indexer_get_frame_index().

Referenced by IMB_anim_absolute(), and seq_proxy_fetch().

◆ IMB_anim_index_rebuild()

void IMB_anim_index_rebuild ( struct IndexBuildContext context,
short *  stop,
short *  do_update,
float progress 
)

Definition at line 1352 of file indexer.c.

References ANIM_FFMPEG, context, and UNUSED_VARS.

Referenced by do_movie_proxy(), and SEQ_proxy_rebuild().

◆ IMB_anim_index_rebuild_context()

struct IndexBuildContext* IMB_anim_index_rebuild_context ( struct anim anim,
IMB_Timecode_Type  tcs_in_use,
IMB_Proxy_Size  proxy_sizes_in_use,
int  quality,
const bool  overwrite,
struct GSet file_list 
)

◆ IMB_anim_index_rebuild_finish()

void IMB_anim_index_rebuild_finish ( struct IndexBuildContext context,
short  stop 
)

Definition at line 1376 of file indexer.c.

References ANIM_FFMPEG, context, proxy_sizes, and UNUSED_VARS.

Referenced by proxy_endjob(), and SEQ_proxy_rebuild_finish().

◆ IMB_anim_previewframe()

struct ImBuf* IMB_anim_previewframe ( struct anim anim)
Attention
Defined in anim_movie.c fetches a define preview-frame, usually half way into the movie.

Definition at line 1566 of file anim_movie.c.

References anim::duration_in_frames, IMB_anim_absolute(), IMB_freeImBuf(), IMB_PROXY_NONE, IMB_TC_NONE, and NULL.

Referenced by thumb_create_ex().

◆ IMB_anim_proxy_get_existing()

IMB_Proxy_Size IMB_anim_proxy_get_existing ( struct anim anim)

◆ IMB_anim_set_index_dir()

void IMB_anim_set_index_dir ( struct anim anim,
const char *  dir 
)

◆ IMB_blend_color_byte()

void IMB_blend_color_byte ( unsigned char  dst[4],
const unsigned char  src1[4],
const unsigned char  src2[4],
IMB_BlendMode  mode 
)

◆ IMB_blend_color_float()

void IMB_blend_color_float ( float  dst[4],
const float  src1[4],
const float  src2[4],
IMB_BlendMode  mode 
)

◆ IMB_buffer_byte_from_byte()

void IMB_buffer_byte_from_byte ( unsigned char *  rect_to,
const unsigned char *  rect_from,
int  profile_to,
int  profile_from,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from 
)

◆ IMB_buffer_byte_from_float()

void IMB_buffer_byte_from_float ( unsigned char *  rect_to,
const float rect_from,
int  channels_from,
float  dither,
int  profile_to,
int  profile_from,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from 
)

◆ IMB_buffer_byte_from_float_mask()

void IMB_buffer_byte_from_float_mask ( unsigned char *  rect_to,
const float rect_from,
int  channels_from,
float  dither,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from,
char *  mask 
)

◆ IMB_buffer_float_from_byte()

void IMB_buffer_float_from_byte ( float rect_to,
const unsigned char *  rect_from,
int  profile_to,
int  profile_from,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from 
)

◆ IMB_buffer_float_from_float()

void IMB_buffer_float_from_float ( float rect_to,
const float rect_from,
int  channels_from,
int  profile_to,
int  profile_from,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from 
)

◆ IMB_buffer_float_from_float_mask()

void IMB_buffer_float_from_float_mask ( float rect_to,
const float rect_from,
int  channels_from,
int  width,
int  height,
int  stride_to,
int  stride_from,
char *  mask 
)

Definition at line 597 of file divers.c.

References copy_v3_v3(), copy_v4_v4(), FILTER_MASK_USED, from, height, mask(), width, x, and y.

Referenced by write_internal_bake_pixels().

◆ IMB_buffer_float_from_float_threaded()

void IMB_buffer_float_from_float_threaded ( float rect_to,
const float rect_from,
int  channels_from,
int  profile_to,
int  profile_from,
bool  predivide,
int  width,
int  height,
int  stride_to,
int  stride_from 
)

◆ IMB_buffer_float_premultiply()

void IMB_buffer_float_premultiply ( float buf,
int  width,
int  height 
)

Definition at line 871 of file divers.c.

References height, straight_to_premul_v4(), and width.

Referenced by do_glow_effect_byte().

◆ IMB_buffer_float_unpremultiply()

void IMB_buffer_float_unpremultiply ( float buf,
int  width,
int  height 
)

Definition at line 861 of file divers.c.

References height, premul_to_straight_v4(), and width.

Referenced by do_glow_effect_byte().

◆ IMB_close_anim()

void IMB_close_anim ( struct anim anim)

Definition at line 229 of file anim_movie.c.

References IMB_free_anim(), and NULL.

Referenced by IMB_free_indices(), and wm_main_playanim_intern().

◆ IMB_close_anim_proxies()

void IMB_close_anim_proxies ( struct anim anim)

Definition at line 238 of file anim_movie.c.

References IMB_free_indices(), and NULL.

Referenced by proxy_endjob(), and SEQ_proxy_rebuild_finish().

◆ IMB_color_to_bw()

void IMB_color_to_bw ( struct ImBuf ibuf)

◆ IMB_convert_rgba_to_abgr()

void IMB_convert_rgba_to_abgr ( struct ImBuf ibuf)

Change the ordering of the color bytes pointed to by rect from rgba to abgr. size * 4 color bytes are reordered.

Attention
Defined in imageprocess.c

Definition at line 45 of file imageprocess.c.

References if(), ImBuf::rect, ImBuf::rect_float, size(), ImBuf::x, and ImBuf::y.

Referenced by IMB_anim_absolute(), imb_loadiris(), imb_loadtarga(), imb_read_tiff_pixels(), and imb_saveiris().

◆ IMB_create_gpu_texture()

struct GPUTexture* IMB_create_gpu_texture ( const char *  name,
struct ImBuf ibuf,
bool  use_high_bitdepth,
bool  use_premult,
bool  limit_gl_texture_size 
)

◆ IMB_double_fast_x()

struct ImBuf* IMB_double_fast_x ( struct ImBuf ibuf1)
Attention
defined in scaling.c

Definition at line 124 of file scaling.c.

References col, ImBuf::flags, IMB_allocImBuf(), NULL, ImBuf::planes, ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.

Referenced by IMB_double_x().

◆ IMB_double_fast_y()

struct ImBuf* IMB_double_fast_y ( struct ImBuf ibuf1)
Attention
defined in scaling.c

Definition at line 278 of file scaling.c.

References ImBuf::flags, IMB_allocImBuf(), NULL, ImBuf::planes, ImBuf::rect, ImBuf::rect_float, x, ImBuf::x, y, and ImBuf::y.

Referenced by IMB_double_y().

◆ IMB_double_x()

struct ImBuf* IMB_double_x ( struct ImBuf ibuf1)
Attention
defined in scaling.c

Definition at line 169 of file scaling.c.

References IMB_double_fast_x(), imb_filterx(), NULL, ImBuf::rect, and ImBuf::rect_float.

◆ IMB_double_y()

struct ImBuf* IMB_double_y ( struct ImBuf ibuf1)
Attention
defined in scaling.c

Definition at line 326 of file scaling.c.

References IMB_double_fast_y(), IMB_filtery(), NULL, and ImBuf::rect.

◆ IMB_dupImBuf()

struct ImBuf* IMB_dupImBuf ( const struct ImBuf ibuf1)

◆ IMB_exit()

void IMB_exit ( void  )

◆ IMB_ffmpeg_init()

void IMB_ffmpeg_init ( void  )

Referenced by arg_handle_playback_mode(), and main().

◆ IMB_ffmpeg_last_error()

const char* IMB_ffmpeg_last_error ( void  )

◆ IMB_filter()

void IMB_filter ( struct ImBuf ibuf)

Definition at line 318 of file filter.c.

References imb_filterx(), and IMB_filtery().

◆ IMB_filter_extend()

void IMB_filter_extend ( struct ImBuf ibuf,
char *  mask,
int  filter 
)

if alpha is zero, it checks surrounding pixels and averages color. sets new alphas to 1.0

When a mask is given, only effect pixels with a mask value of 1, defined as #BAKE_MASK_MARGIN in rendercore.c

Definition at line 429 of file filter.c.

References Freestyle::c, check_pixel_assigned(), filter(), filter_make_index(), FILTER_MASK_MARGIN, float(), height, mask(), MEM_dupallocN, MEM_freeN, NULL, r, ImBuf::rect, ImBuf::rect_float, sqrt(), width, x, ImBuf::x, y, and ImBuf::y.

Referenced by bake_ibuf_filter(), and RE_bake_margin().

◆ IMB_filtery()

void IMB_filtery ( struct ImBuf ibuf)
Attention
Defined in filter.c

Definition at line 119 of file filter.c.

References filtcolum(), filtcolumf(), ImBuf::planes, ImBuf::rect, ImBuf::rect_float, x, ImBuf::x, y, and ImBuf::y.

Referenced by IMB_anim_absolute(), IMB_double_y(), IMB_filter(), and input_preprocess().

◆ IMB_flipx()

void IMB_flipx ( struct ImBuf ibuf)
Attention
Defined in rotate.c

Definition at line 92 of file rotate.c.

References NULL, ImBuf::rect, ImBuf::rect_float, SWAP, x, ImBuf::x, y, and ImBuf::y.

Referenced by input_preprocess().

◆ IMB_flipy()

void IMB_flipy ( struct ImBuf ibuf)

◆ IMB_float_from_rect()

void IMB_float_from_rect ( struct ImBuf ibuf)

◆ IMB_free_anim()

void IMB_free_anim ( struct anim anim)

◆ IMB_freeImBuf()

void IMB_freeImBuf ( struct ImBuf ibuf)
Attention
Defined in allocimbuf.c

Definition at line 211 of file allocimbuf.c.

References BLI_spin_lock(), BLI_spin_unlock(), colormanage_cache_free(), DDSData::data, ImBuf::dds_data, free(), imb_freerectImbuf_all(), IMB_metadata_free(), MEM_freeN, ImBuf::metadata, NULL, ImBuf::refcounter, and refcounter_spin.

Referenced by accessor_get_ibuf(), accessor_release_image_callback(), action_preview_render(), BKE_image_add_generated(), BKE_image_has_ibuf(), BKE_image_memorypack(), BKE_image_pool_free(), BKE_image_release_ibuf(), BKE_image_signal(), BKE_movieclip_build_proxy_frame(), BKE_movieclip_build_proxy_frame_for_ibuf(), BKE_movieclip_get_gpu_texture(), BKE_movieclip_get_size(), BKE_movieclip_get_stable_ibuf(), BKE_movieclip_has_frame(), BKE_movieclip_update_scopes(), BKE_previewimg_ensure(), BKE_tracking_get_pattern_imbuf(), BKE_tracking_refine_marker(), brush_free_data(), brush_painter_2d_refresh_cache(), brush_painter_2d_require_imbuf(), brush_painter_cache_2d_free(), brush_painter_imbuf_partial_update(), build_pict_list_ex(), blender::compositor::KeyingScreenOperation::buildVoronoiTriangulation(), clip_draw_main(), clip_free(), clip_main_region_draw(), colormanage_cache_get(), colormanage_cache_handle_release(), blender::compositor::MovieClipNode::convertToOperations(), blender::compositor::MovieClipBaseOperation::deinitExecution(), blender::compositor::OutputStereoOperation::deinitExecution(), blender::compositor::OutputSingleLayerOperation::deinitExecution(), detect_clip_source(), detect_features_exec(), do_gaussian_blur_effect(), do_render_sequencer(), do_render_strip_uncached(), dynamicPaint_outputSurfaceImage(), ED_imapaint_dirty_region(), ED_space_clip_color_sample(), ED_space_clip_get_buffer(), ED_space_clip_get_position(), ED_space_clip_get_stable_buffer(), filelist_free_icons(), filelist_init_icons(), frame_cache_remove(), free_buffers(), gpu_texture_update_scaled(), icon_copy_rect(), icon_draw_rect(), icon_draw_size(), icon_free_data(), icon_preview_startjob(), icon_verify_datatoc(), image_init_color_management(), image_load_image_file(), image_load_movie_file(), image_load_sequence_file(), image_memorypack_imbuf(), image_save_single(), image_undosys_step_encode(), IMB_allocImBuf(), IMB_anim_absolute(), IMB_anim_previewframe(), IMB_dupImBuf(), imb_freemipmapImBuf(), imb_gpu_get_data(), IMB_ImBufFromStereo3d(), imb_load_dpx_cineon(), imb_load_openexr(), imb_load_photoshop(), imb_loadpng(), IMB_makemipmap(), IMB_makeSingleUser(), IMB_moviecache_destructor(), imb_oiio_load_image(), imb_oiio_load_image_float(), imb_read_tiff_pixels(), IMB_remakemipmap(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_manage(), imbuf_save_post(), init_iconfile_list(), init_internal_icons(), input_preprocess(), load_image_single(), load_sequence_single(), metadata_panel_context_draw(), moviecache_valfree(), movieclip_build_proxy_ibuf(), movieclip_get_postprocessed_ibuf(), object_preview_render(), openanim(), paint_2d_op(), prefetch_movie_frame(), prefetch_task_func(), project_bucket_init(), proxy_task_func(), ptile_restore_runtime_list(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), py_imbuf_dealloc(), py_imbuf_free(), RE_layer_load_from_file(), RE_WriteRenderViewsImage(), RE_WriteRenderViewsMovie(), render_result_rect_to_ibuf(), screen_opengl_render_doit(), screenshot_exec(), SEQ_add_image_init_alpha_mode(), SEQ_add_image_strip(), seq_cache_put(), seq_cache_valfree(), seq_disk_cache_read_file(), SEQ_modifier_apply_stack(), seq_prefetch_do_skip_frame(), seq_prefetch_frames(), seq_proxy_build_frame(), seq_render_effect_strip_impl(), seq_render_image_strip(), seq_render_movie_strip(), seq_render_scene_strip(), seq_render_strip_stack(), sequencer_check_scopes(), sequencer_draw_preview(), sequencer_free(), sequencer_get_scope(), sequencer_make_scope(), sequencer_sample_apply(), studiolight_load_equirect_image(), texture_paint_image_from_view_exec(), thumb_create_ex(), thumb_create_or_fail(), track_get_search_floatbuf(), ubuf_from_image_all_tiles(), uhandle_restore_list(), ui_but_free(), UI_icon_to_preview(), UI_icons_free_drawinfo(), UI_icons_reload_internal_textures(), uiTemplateMovieclipInformation(), wm_file_write(), wm_main_playanim_intern(), write_external_bake_pixels(), and GHOST_EventDragnDrop::~GHOST_EventDragnDrop().

◆ imb_freemipmapImBuf()

void imb_freemipmapImBuf ( struct ImBuf ibuf)

◆ imb_freerectfloatImBuf()

void imb_freerectfloatImBuf ( struct ImBuf ibuf)

◆ imb_freerectImBuf()

void imb_freerectImBuf ( struct ImBuf ibuf)

◆ imb_freerectImbuf_all()

void imb_freerectImbuf_all ( ImBuf ibuf)

Free all pixel data (associated with image size).

Definition at line 201 of file allocimbuf.c.

References freeencodedbufferImBuf(), imb_freerectfloatImBuf(), imb_freerectImBuf(), imb_freetilesImBuf(), IMB_freezbuffloatImBuf(), and IMB_freezbufImBuf().

Referenced by IMB_freeImBuf(), and ubuf_ensure_compat_ibuf().

◆ imb_freetilesImBuf()

void imb_freetilesImBuf ( struct ImBuf ibuf)

◆ IMB_freezbuffloatImBuf()

void IMB_freezbuffloatImBuf ( struct ImBuf ibuf)

◆ IMB_freezbufImBuf()

void IMB_freezbufImBuf ( struct ImBuf ibuf)
Attention
Defined in allocimbuf.c

Definition at line 172 of file allocimbuf.c.

References IB_zbuf, ImBuf::mall, MEM_freeN, NULL, and ImBuf::zbuf.

Referenced by addzbufImBuf(), image_save_post(), imb_freerectImbuf_all(), and scalefast_Z_ImBuf().

◆ imb_get_anim_type()

int imb_get_anim_type ( const char *  filepath)
Attention
Defined in util.c

Definition at line 338 of file util.c.

References ANIM_AVI, ANIM_FFMPEG, ANIM_MOVIE, ANIM_NONE, ANIM_SEQUENCE, BLI_assert, BLI_path_is_rel(), BLI_stat(), IMB_ispic(), isavi(), ismovie(), and UTIL_DEBUG.

Referenced by anim_getnew(), and IMB_isanim().

◆ IMB_get_size_in_memory()

size_t IMB_get_size_in_memory ( struct ImBuf ibuf)

◆ IMB_getmipmap()

struct ImBuf* IMB_getmipmap ( struct ImBuf ibuf,
int  level 
)

Definition at line 635 of file filter.c.

References CLAMP, ImBuf::mipmap, and ImBuf::miptot.

Referenced by IMB_tiles_to_rect().

◆ IMB_gettile()

unsigned int* IMB_gettile ( struct ImBuf ibuf,
int  tx,
int  ty,
int  thread 
)

◆ IMB_half_x()

struct ImBuf* IMB_half_x ( struct ImBuf ibuf1)

◆ IMB_half_y()

struct ImBuf* IMB_half_y ( struct ImBuf ibuf1)

◆ IMB_ibImageFromMemory()

struct ImBuf* IMB_ibImageFromMemory ( const unsigned char *  mem,
size_t  size,
int  flags,
char  colorspace[IM_MAX_SPACE],
const char *  descr 
)

◆ IMB_ImBufFromStereo3d()

void IMB_ImBufFromStereo3d ( struct Stereo3dFormat s3d,
struct ImBuf ibuf_stereo,
struct ImBuf **  r_ibuf_left,
struct ImBuf **  r_ibuf_right 
)

◆ IMB_init()

void IMB_init ( void  )

◆ IMB_initImBuf()

bool IMB_initImBuf ( struct ImBuf ibuf,
unsigned int  x,
unsigned int  y,
unsigned char  planes,
unsigned int  flags 
)

◆ IMB_isanim()

bool IMB_isanim ( const char *  filepath)
Attention
Defined in util.c

Definition at line 399 of file util.c.

References ANIM_SEQUENCE, imb_get_anim_type(), and type.

Referenced by build_pict_list_ex(), ED_path_extension_type(), and wm_main_playanim_intern().

◆ IMB_isfloat()

bool IMB_isfloat ( const struct ImBuf ibuf)

◆ IMB_ispic()

bool IMB_ispic ( const char *  filepath)
Attention
Defined in util.c

Definition at line 197 of file util.c.

References IMB_FTYPE_NONE, and IMB_ispic_type().

Referenced by build_pict_list_ex(), imb_get_anim_type(), and wm_main_playanim_intern().

◆ IMB_ispic_type()

int IMB_ispic_type ( const char *  filepath)

◆ IMB_ispic_type_from_memory()

int IMB_ispic_type_from_memory ( const unsigned char *  buf,
const size_t  buf_size 
)

Definition at line 152 of file util.c.

References IMB_FILE_TYPES, IMB_FILE_TYPES_LAST, IMB_FTYPE_NONE, NULL, and type.

Referenced by IMB_ispic_type(), and unpack_generate_paths().

◆ IMB_ispic_type_matches()

bool IMB_ispic_type_matches ( const char *  filepath,
int  filetype 
)

◆ IMB_loadifffile()

struct ImBuf* IMB_loadifffile ( int  file,
const char *  filepath,
int  flags,
char  colorspace[IM_MAX_SPACE],
const char *  descr 
)

◆ IMB_loadiffname()

struct ImBuf* IMB_loadiffname ( const char *  filepath,
int  flags,
char  colorspace[IM_MAX_SPACE] 
)

◆ IMB_makemipmap()

void IMB_makemipmap ( struct ImBuf ibuf,
int  use_filter 
)

◆ IMB_makeSingleUser()

struct ImBuf* IMB_makeSingleUser ( struct ImBuf ibuf)

◆ IMB_mask_clear()

void IMB_mask_clear ( struct ImBuf ibuf,
const char *  mask,
int  val 
)

Definition at line 368 of file filter.c.

References col, mask(), ImBuf::rect, ImBuf::rect_float, x, ImBuf::x, y, and ImBuf::y.

◆ IMB_mask_filter_extend()

void IMB_mask_filter_extend ( char *  mask,
int  width,
int  height 
)

Definition at line 324 of file filter.c.

References FILTER_MASK_MARGIN, height, mask(), MEM_dupallocN, MEM_freeN, width, x, and y.

◆ IMB_onehalf()

struct ImBuf* IMB_onehalf ( struct ImBuf ibuf1)

◆ IMB_open_anim()

struct anim* IMB_open_anim ( const char *  name,
int  ib_flags,
int  streamindex,
char  colorspace[IM_MAX_SPACE] 
)

◆ IMB_premultiply_alpha()

void IMB_premultiply_alpha ( struct ImBuf ibuf)

◆ IMB_prepare_write_ImBuf()

bool IMB_prepare_write_ImBuf ( const bool  isfloat,
struct ImBuf ibuf 
)

◆ IMB_processor_apply_threaded()

void IMB_processor_apply_threaded ( int  buffer_lines,
int  handle_size,
void *  init_customdata,
void(init_handle)(void *handle, int start_line, int tot_line, void *customdata)  ,
void *  do_thread)(void * 
)

◆ IMB_processor_apply_threaded_scanlines()

void IMB_processor_apply_threaded_scanlines ( int  total_scanlines,
ScanlineThreadFunc  do_thread,
void *  custom_data 
)

◆ IMB_rect_crop()

void IMB_rect_crop ( struct ImBuf ibuf,
const struct rcti crop 
)

◆ IMB_rect_from_float()

void IMB_rect_from_float ( struct ImBuf ibuf)

◆ IMB_rect_size_set()

void IMB_rect_size_set ( ImBuf ibuf,
const uint  size[2] 
)

In-place size setting (caller must fill in buffer contents).

Definition at line 308 of file rectop.c.

References BLI_assert, ImBuf::rect, ImBuf::rect_float, rect_realloc_16bytes(), rect_realloc_4bytes(), size(), ImBuf::x, ImBuf::y, ImBuf::zbuf, and ImBuf::zbuf_float.

Referenced by ubuf_ensure_compat_ibuf().

◆ IMB_rectblend()

void IMB_rectblend ( struct ImBuf dbuf,
const struct ImBuf obuf,
const struct ImBuf sbuf,
unsigned short *  dmask,
const unsigned short *  curvemask,
const unsigned short *  texmask,
float  mask_max,
int  destx,
int  desty,
int  origx,
int  origy,
int  srcx,
int  srcy,
int  width,
int  height,
IMB_BlendMode  mode,
bool  accumulate 
)

◆ IMB_rectblend_threaded()

void IMB_rectblend_threaded ( struct ImBuf dbuf,
const struct ImBuf obuf,
const struct ImBuf sbuf,
unsigned short *  dmask,
const unsigned short *  curvemask,
const unsigned short *  texmask,
float  mask_max,
int  destx,
int  desty,
int  origx,
int  origy,
int  srcx,
int  srcy,
int  width,
int  height,
IMB_BlendMode  mode,
bool  accumulate 
)

Referenced by paint_2d_op().

◆ IMB_rectclip()

void IMB_rectclip ( struct ImBuf dbuf,
const struct ImBuf sbuf,
int *  destx,
int *  desty,
int *  srcx,
int *  srcy,
int *  width,
int *  height 
)

◆ IMB_rectcpy()

void IMB_rectcpy ( struct ImBuf dbuf,
const struct ImBuf sbuf,
int  destx,
int  desty,
int  srcx,
int  srcy,
int  width,
int  height 
)

◆ IMB_rectfill()

void IMB_rectfill ( ImBuf drect,
const float  col[4] 
)
Attention
Defined in rectop.c

Replace pixels of entire image with solid color.

Parameters
ibufAn image to be filled with color. It must be 4 channel image.
colRGBA color, which is assigned directly to both byte (via scaling) and float buffers.

Definition at line 1077 of file rectop.c.

References col, ImBuf::rect, ImBuf::rect_float, ImBuf::x, and ImBuf::y.

Referenced by clear_single_image(), IMB_thumb_load_font(), and RE_bake_ibuf_clear().

◆ IMB_rectfill_alpha()

void IMB_rectfill_alpha ( struct ImBuf ibuf,
const float  value 
)

◆ IMB_rectfill_area()

void IMB_rectfill_area ( ImBuf ibuf,
const float  col[4],
int  x1,
int  y1,
int  x2,
int  y2,
struct ColorManagedDisplay display 
)

Blend pixels of image area with solid color.

For images with uchar buffer use color matching image color-space. For images with float buffer use color display color-space. If display color-space can not be referenced, use color in SRGB color-space.

Parameters
ibufan image to be filled with color. It must be 4 channel image.
colRGBA color.
x1,y1,x2,y2(x1, y1) defines starting point of the rectangular area to be filled, (x2, y2) is the end point. Note that values are allowed to be loosely ordered, which means that x2 is allowed to be lower than x1, as well as y2 is allowed to be lower than y1. No matter the order the area between x1 and x2, and y1 and y2 is filled.
displaycolor-space reference for display space.

Definition at line 1290 of file rectop.c.

References buf_rectfill_area(), col, ImBuf::rect, ImBuf::rect_float, ImBuf::x, x2, ImBuf::y, and y1.

◆ IMB_rectfill_area_replace()

void IMB_rectfill_area_replace ( const struct ImBuf ibuf,
const float  col[4],
int  x1,
int  y1,
int  x2,
int  y2 
)

Referenced by do_text_effect().

◆ IMB_refImBuf()

void IMB_refImBuf ( struct ImBuf ibuf)

◆ IMB_remakemipmap()

void IMB_remakemipmap ( struct ImBuf ibuf,
int  use_filter 
)

◆ IMB_sampleImageAtLocation()

void IMB_sampleImageAtLocation ( struct ImBuf ibuf,
float  x,
float  y,
bool  make_linear_rgb,
float  color[4] 
)

◆ IMB_saturation()

void IMB_saturation ( struct ImBuf ibuf,
float  sat 
)

◆ IMB_saveiff()

bool IMB_saveiff ( struct ImBuf ibuf,
const char *  filepath,
int  flags 
)

◆ IMB_scalefastImBuf()

bool IMB_scalefastImBuf ( struct ImBuf ibuf,
unsigned int  newx,
unsigned int  newy 
)

◆ IMB_scaleImBuf()

bool IMB_scaleImBuf ( struct ImBuf ibuf,
unsigned int  newx,
unsigned int  newy 
)

◆ IMB_scaleImBuf_threaded()

void IMB_scaleImBuf_threaded ( struct ImBuf ibuf,
unsigned int  newx,
unsigned int  newy 
)

◆ IMB_stereo3d_from_rect()

int* IMB_stereo3d_from_rect ( struct 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 ( struct ImageFormatData im_format,
const size_t  x,
const size_t  y,
const size_t  channels,
float rectf_left,
float rectf_right 
)

◆ IMB_stereo3d_ImBuf()

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

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

void IMB_suffix_anim ( struct anim anim,
const char *  suffix 
)

Definition at line 328 of file anim_movie.c.

References BLI_strncpy(), and anim::suffix.

Referenced by seq_anim_add_suffix(), and seq_open_anim_file().

◆ IMB_testiffname()

struct ImBuf* IMB_testiffname ( const char *  filepath,
int  flags 
)

◆ IMB_tile_cache_params()

void IMB_tile_cache_params ( int  totthread,
int  maxmem 
)

◆ IMB_tiles_to_rect()

void IMB_tiles_to_rect ( struct ImBuf ibuf)

◆ IMB_touch_gpu_texture()

struct GPUTexture* IMB_touch_gpu_texture ( const char *  name,
struct ImBuf ibuf,
int  w,
int  h,
int  layers,
bool  use_high_bitdepth 
)

◆ IMB_unpremultiply_alpha()

void IMB_unpremultiply_alpha ( struct ImBuf ibuf)

◆ IMB_update_gpu_texture_sub()

void IMB_update_gpu_texture_sub ( struct GPUTexture tex,
struct ImBuf ibuf,
int  x,
int  y,
int  z,
int  w,
int  h,
bool  use_high_bitdepth,
bool  use_premult 
)

◆ IMD_anim_get_offset()

double IMD_anim_get_offset ( struct anim anim)

Return the encoded start offset (in seconds) of the given anim.

Definition at line 1686 of file anim_movie.c.

References anim::start_offset.

Referenced by SEQ_add_movie_strip().

◆ ismovie()

int ismovie ( const char *  filepath)
Attention
Defined in anim_movie.c

Referenced by imb_get_anim_type().

◆ nearest_interpolation()

void nearest_interpolation ( struct ImBuf in,
struct ImBuf out,
float  u,
float  v,
int  xout,
int  yout 
)

◆ nearest_interpolation_color()

void nearest_interpolation_color ( struct ImBuf in,
unsigned char  outI[4],
float  outF[4],
float  u,
float  v 
)

◆ nearest_interpolation_color_wrap()

void nearest_interpolation_color_wrap ( struct ImBuf in,
unsigned char  outI[4],
float  outF[4],
float  u,
float  v 
)

Definition at line 298 of file imageprocess.c.

References floor(), ImBuf::rect, ImBuf::rect_float, v, x, ImBuf::x, y, and ImBuf::y.

Referenced by studiolight_calculate_radiance().