Blender  V3.3
IMB_imbuf.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3 
40 #pragma once
41 
42 /* for bool */
43 #include "../blenlib/BLI_sys_types.h"
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
49 #define IM_MAX_SPACE 64
50 
55 struct ImBuf;
56 struct rctf;
57 struct rcti;
58 
63 struct anim;
64 
65 struct ColorManagedDisplay;
66 
67 struct GSet;
72 struct ImageFormatData;
73 struct Stereo3dFormat;
74 
79 struct GPUTexture;
80 
85 void IMB_init(void);
86 void IMB_exit(void);
87 
92 struct ImBuf *IMB_ibImageFromMemory(const unsigned char *mem,
93  size_t size,
94  int flags,
95  char colorspace[IM_MAX_SPACE],
96  const char *descr);
97 
102 struct ImBuf *IMB_testiffname(const char *filepath, int flags);
103 
108 struct ImBuf *IMB_loadiffname(const char *filepath, int flags, char colorspace[IM_MAX_SPACE]);
109 
114 struct ImBuf *IMB_thumb_load_image(const char *filepath,
115  const size_t max_thumb_size,
116  char colorspace[IM_MAX_SPACE]);
117 
122 void IMB_freeImBuf(struct ImBuf *ibuf);
123 
128 struct ImBuf *IMB_allocImBuf(unsigned int x,
129  unsigned int y,
130  unsigned char planes,
131  unsigned int flags);
132 
140 bool IMB_initImBuf(
141  struct ImBuf *ibuf, unsigned int x, unsigned int y, unsigned char planes, unsigned int flags);
142 
149  unsigned int *rect, float *rectf, unsigned int w, unsigned int h, unsigned int channels);
150 
155 struct ImBuf *IMB_allocFromBuffer(const unsigned int *rect,
156  const float *rectf,
157  unsigned int w,
158  unsigned int h,
159  unsigned int channels);
160 
170 void IMB_refImBuf(struct ImBuf *ibuf);
171 struct ImBuf *IMB_makeSingleUser(struct ImBuf *ibuf);
172 
177 struct ImBuf *IMB_dupImBuf(const struct ImBuf *ibuf1);
178 
183 bool addzbufImBuf(struct ImBuf *ibuf);
184 bool addzbuffloatImBuf(struct ImBuf *ibuf);
185 
191 size_t IMB_get_size_in_memory(struct ImBuf *ibuf);
192 
202 size_t IMB_get_rect_len(const struct ImBuf *ibuf);
203 
209 typedef enum IMB_BlendMode {
235 
240 
241 void IMB_blend_color_byte(unsigned char dst[4],
242  const unsigned char src1[4],
243  const unsigned char src2[4],
244  IMB_BlendMode mode);
245 void IMB_blend_color_float(float dst[4],
246  const float src1[4],
247  const float src2[4],
248  IMB_BlendMode mode);
249 
253 void IMB_rect_crop(struct ImBuf *ibuf, const struct rcti *crop);
254 
258 void IMB_rect_size_set(struct ImBuf *ibuf, const uint size[2]);
259 
260 void IMB_rectclip(struct ImBuf *dbuf,
261  const struct ImBuf *sbuf,
262  int *destx,
263  int *desty,
264  int *srcx,
265  int *srcy,
266  int *width,
267  int *height);
268 void IMB_rectcpy(struct ImBuf *dbuf,
269  const struct ImBuf *sbuf,
270  int destx,
271  int desty,
272  int srcx,
273  int srcy,
274  int width,
275  int height);
276 void IMB_rectblend(struct ImBuf *dbuf,
277  const struct ImBuf *obuf,
278  const struct ImBuf *sbuf,
279  unsigned short *dmask,
280  const unsigned short *curvemask,
281  const unsigned short *texmask,
282  float mask_max,
283  int destx,
284  int desty,
285  int origx,
286  int origy,
287  int srcx,
288  int srcy,
289  int width,
290  int height,
291  IMB_BlendMode mode,
292  bool accumulate);
293 void IMB_rectblend_threaded(struct ImBuf *dbuf,
294  const struct ImBuf *obuf,
295  const struct ImBuf *sbuf,
296  unsigned short *dmask,
297  const unsigned short *curvemask,
298  const unsigned short *texmask,
299  float mask_max,
300  int destx,
301  int desty,
302  int origx,
303  int origy,
304  int srcx,
305  int srcy,
306  int width,
307  int height,
308  IMB_BlendMode mode,
309  bool accumulate);
310 
316 typedef enum IMB_Timecode_Type {
339 
340 typedef enum IMB_Proxy_Size {
348 
353 
357 void IMB_anim_set_index_dir(struct anim *anim, const char *dir);
358 void IMB_anim_get_fname(struct anim *anim, char *file, int size);
359 
360 int IMB_anim_index_get_frame_index(struct anim *anim, IMB_Timecode_Type tc, int position);
361 
363 
364 struct IndexBuildContext;
365 
370  IMB_Timecode_Type tcs_in_use,
371  IMB_Proxy_Size proxy_sizes_in_use,
372  int quality,
373  const bool overwrite,
374  struct GSet *file_list,
375  bool build_only_on_bad_performance);
376 
381  short *stop,
382  short *do_update,
383  float *progress);
384 
389 
394 
398 double IMD_anim_get_offset(struct anim *anim);
399 
404 bool IMB_anim_get_fps(struct anim *anim, short *frs_sec, float *frs_sec_base, bool no_av_base);
405 
410 struct anim *IMB_open_anim(const char *name,
411  int ib_flags,
412  int streamindex,
413  char colorspace[IM_MAX_SPACE]);
414 void IMB_suffix_anim(struct anim *anim, const char *suffix);
415 void IMB_close_anim(struct anim *anim);
416 void IMB_close_anim_proxies(struct anim *anim);
417 bool IMB_anim_can_produce_frames(const struct anim *anim);
418 
424 int ismovie(const char *filepath);
425 int IMB_anim_get_image_width(struct anim *anim);
426 int IMB_anim_get_image_height(struct anim *anim);
428 
434 struct ImBuf *IMB_anim_absolute(struct anim *anim,
435  int position,
436  IMB_Timecode_Type tc /* = 1 = IMB_TC_RECORD_RUN */,
437  IMB_Proxy_Size preview_size /* = 0 = IMB_PROXY_NONE */);
438 
444 struct ImBuf *IMB_anim_previewframe(struct anim *anim);
445 
450 void IMB_free_anim(struct anim *anim);
451 
457 #define FILTER_MASK_NULL 0
458 #define FILTER_MASK_MARGIN 1
459 #define FILTER_MASK_USED 2
460 
461 void IMB_filter(struct ImBuf *ibuf);
462 void IMB_mask_filter_extend(char *mask, int width, int height);
463 void IMB_mask_clear(struct ImBuf *ibuf, const char *mask, int val);
470 void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter);
474 void IMB_makemipmap(struct ImBuf *ibuf, int use_filter);
478 void IMB_remakemipmap(struct ImBuf *ibuf, int use_filter);
479 struct ImBuf *IMB_getmipmap(struct ImBuf *ibuf, int level);
480 
489 void IMB_tile_cache_params(int totthread, int maxmem);
490 unsigned int *IMB_gettile(struct ImBuf *ibuf, int tx, int ty, int thread);
491 void IMB_tiles_to_rect(struct ImBuf *ibuf);
492 
497 void IMB_filtery(struct ImBuf *ibuf);
498 
503 struct ImBuf *IMB_onehalf(struct ImBuf *ibuf1);
504 
511 bool IMB_scaleImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy);
512 
520 bool IMB_scalefastImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy);
521 
526 void IMB_scaleImBuf_threaded(struct ImBuf *ibuf, unsigned int newx, unsigned int newy);
527 
532 bool IMB_saveiff(struct ImBuf *ibuf, const char *filepath, int flags);
533 
538 bool IMB_ispic(const char *filepath);
539 bool IMB_ispic_type_matches(const char *filepath, int filetype);
540 int IMB_ispic_type_from_memory(const unsigned char *buf, size_t buf_size);
541 int IMB_ispic_type(const char *filepath);
542 
547 bool IMB_isanim(const char *filepath);
548 
553 int imb_get_anim_type(const char *filepath);
554 
558 bool IMB_alpha_affects_rgb(const struct ImBuf *ibuf);
559 
563 void IMB_rect_from_float(struct ImBuf *ibuf);
564 void IMB_float_from_rect_ex(struct ImBuf *dst,
565  const struct ImBuf *src,
566  const struct rcti *region_to_update);
567 void IMB_float_from_rect(struct ImBuf *ibuf);
571 void IMB_color_to_bw(struct ImBuf *ibuf);
572 void IMB_saturation(struct ImBuf *ibuf, float sat);
573 
574 /* Converting pixel buffers. */
575 
579 void IMB_buffer_byte_from_float(unsigned char *rect_to,
580  const float *rect_from,
581  int channels_from,
582  float dither,
583  int profile_to,
584  int profile_from,
585  bool predivide,
586  int width,
587  int height,
588  int stride_to,
589  int stride_from);
593 void IMB_buffer_byte_from_float_mask(unsigned char *rect_to,
594  const float *rect_from,
595  int channels_from,
596  float dither,
597  bool predivide,
598  int width,
599  int height,
600  int stride_to,
601  int stride_from,
602  char *mask);
606 void IMB_buffer_float_from_byte(float *rect_to,
607  const unsigned char *rect_from,
608  int profile_to,
609  int profile_from,
610  bool predivide,
611  int width,
612  int height,
613  int stride_to,
614  int stride_from);
618 void IMB_buffer_float_from_float(float *rect_to,
619  const float *rect_from,
620  int channels_from,
621  int profile_to,
622  int profile_from,
623  bool predivide,
624  int width,
625  int height,
626  int stride_to,
627  int stride_from);
628 void IMB_buffer_float_from_float_threaded(float *rect_to,
629  const float *rect_from,
630  int channels_from,
631  int profile_to,
632  int profile_from,
633  bool predivide,
634  int width,
635  int height,
636  int stride_to,
637  int stride_from);
641 void IMB_buffer_float_from_float_mask(float *rect_to,
642  const float *rect_from,
643  int channels_from,
644  int width,
645  int height,
646  int stride_to,
647  int stride_from,
648  char *mask);
652 void IMB_buffer_byte_from_byte(unsigned char *rect_to,
653  const unsigned char *rect_from,
654  int profile_to,
655  int profile_from,
656  bool predivide,
657  int width,
658  int height,
659  int stride_to,
660  int stride_from);
661 void IMB_buffer_float_unpremultiply(float *buf, int width, int height);
662 void IMB_buffer_float_premultiply(float *buf, int width, int height);
663 
672 void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf);
673 
680  const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);
682  const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);
684  const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout);
685 
687  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
689  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
690 
691 /* Functions assumes out to be zeroed, only does RGBA. */
692 
694  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
696  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
698  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
700  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
702  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
704  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
706  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
714  const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v);
715 
716 void IMB_alpha_under_color_float(float *rect_float, int x, int y, float backcol[3]);
717 void IMB_alpha_under_color_byte(unsigned char *rect, int x, int y, const float backcol[3]);
718 
723  struct ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4]);
724 
729 struct ImBuf *IMB_loadifffile(
730  int file, const char *filepath, int flags, char colorspace[IM_MAX_SPACE], const char *descr);
731 
736 struct ImBuf *IMB_half_x(struct ImBuf *ibuf1);
737 
742 struct ImBuf *IMB_double_fast_x(struct ImBuf *ibuf1);
743 
748 struct ImBuf *IMB_double_x(struct ImBuf *ibuf1);
749 
754 struct ImBuf *IMB_half_y(struct ImBuf *ibuf1);
755 
760 struct ImBuf *IMB_double_fast_y(struct ImBuf *ibuf1);
761 
766 struct ImBuf *IMB_double_y(struct ImBuf *ibuf1);
767 
772 void IMB_flipx(struct ImBuf *ibuf);
773 void IMB_flipy(struct ImBuf *ibuf);
774 
775 /* Pre-multiply alpha. */
776 
777 void IMB_premultiply_alpha(struct ImBuf *ibuf);
778 void IMB_unpremultiply_alpha(struct ImBuf *ibuf);
779 
784 void IMB_freezbufImBuf(struct ImBuf *ibuf);
785 void IMB_freezbuffloatImBuf(struct ImBuf *ibuf);
786 
796 void IMB_rectfill(struct ImBuf *drect, const float col[4]);
812 void IMB_rectfill_area(struct ImBuf *ibuf,
813  const float col[4],
814  int x1,
815  int y1,
816  int x2,
817  int y2,
818  struct ColorManagedDisplay *display);
829  const struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2);
830 void IMB_rectfill_alpha(struct ImBuf *ibuf, float value);
831 
836 void buf_rectfill_area(unsigned char *rect,
837  float *rectf,
838  int width,
839  int height,
840  const float col[4],
841  struct ColorManagedDisplay *display,
842  int x1,
843  int y1,
844  int x2,
845  int y2);
846 
850 void *imb_alloc_pixels(
851  unsigned int x, unsigned int y, unsigned int channels, size_t typesize, const char *name);
852 
853 bool imb_addrectImBuf(struct ImBuf *ibuf);
857 void imb_freerectImBuf(struct ImBuf *ibuf);
858 
859 bool imb_addrectfloatImBuf(struct ImBuf *ibuf, const unsigned int channels);
863 void imb_freerectfloatImBuf(struct ImBuf *ibuf);
864 void imb_freemipmapImBuf(struct ImBuf *ibuf);
865 
866 bool imb_addtilesImBuf(struct ImBuf *ibuf);
867 void imb_freetilesImBuf(struct ImBuf *ibuf);
868 
870 void imb_freerectImbuf_all(struct ImBuf *ibuf);
871 
876  int buffer_lines,
877  int handle_size,
878  void *init_customdata,
879  void(init_handle)(void *handle, int start_line, int tot_line, void *customdata),
880  void *(do_thread)(void *));
881 
882 typedef void (*ScanlineThreadFunc)(void *custom_data, int scanline);
883 void IMB_processor_apply_threaded_scanlines(int total_scanlines,
884  ScanlineThreadFunc do_thread,
885  void *custom_data);
886 
892 typedef enum eIMBTransformMode {
900 
920 void IMB_transform(const struct ImBuf *src,
921  struct ImBuf *dst,
922  eIMBTransformMode mode,
924  const float transform_matrix[4][4],
925  const struct rctf *src_crop);
926 
927 /* FFMPEG */
928 
929 void IMB_ffmpeg_init(void);
930 const char *IMB_ffmpeg_last_error(void);
931 
936 struct GPUTexture *IMB_create_gpu_texture(const char *name,
937  struct ImBuf *ibuf,
938  bool use_high_bitdepth,
939  bool use_premult);
945 void IMB_gpu_clamp_half_float(struct ImBuf *image_buffer);
946 
952  const char *name, struct ImBuf *ibuf, int w, int h, int layers, bool use_high_bitdepth);
959  struct ImBuf *ibuf,
960  int x,
961  int y,
962  int z,
963  int w,
964  int h,
965  bool use_high_bitdepth,
966  bool use_premult);
967 
972  char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height);
974  char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height);
975 int *IMB_stereo3d_from_rect(const struct ImageFormatData *im_format,
976  size_t x,
977  size_t y,
978  size_t channels,
979  int *rect_left,
980  int *rect_right);
981 float *IMB_stereo3d_from_rectf(const struct ImageFormatData *im_format,
982  size_t x,
983  size_t y,
984  size_t channels,
985  float *rectf_left,
986  float *rectf_right);
990 struct ImBuf *IMB_stereo3d_ImBuf(const struct ImageFormatData *im_format,
991  struct ImBuf *ibuf_left,
992  struct ImBuf *ibuf_right);
996 void IMB_ImBufFromStereo3d(const struct Stereo3dFormat *s3d,
997  struct ImBuf *ibuf_stereo,
998  struct ImBuf **r_ibuf_left,
999  struct ImBuf **r_ibuf_right);
1000 
1001 #ifdef __cplusplus
1002 }
1003 #endif
struct GSet GSet
Definition: BLI_ghash.h:340
unsigned int uint
Definition: BLI_sys_types.h:67
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble z
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble y1
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble x2
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
struct GPUTexture GPUTexture
Definition: GPU_texture.h:17
void IMB_float_from_rect(struct ImBuf *ibuf)
Definition: divers.c:805
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: divers.c:574
struct ImBuf * IMB_double_fast_x(struct ImBuf *ibuf1)
Definition: scaling.c:107
void imb_freerectfloatImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:80
void bilinear_interpolation(const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
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, bool build_only_on_bad_performance)
Definition: indexer.c:1377
struct ImBuf * IMB_makeSingleUser(struct ImBuf *ibuf)
Definition: allocimbuf.c:227
void nearest_interpolation(const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
void IMB_anim_index_rebuild(struct IndexBuildContext *context, short *stop, short *do_update, float *progress)
Definition: indexer.c:1460
void bicubic_interpolation(const struct ImBuf *in, struct ImBuf *out, float u, float v, int xout, int yout)
void IMB_freezbuffloatImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:168
struct ImBuf * IMB_stereo3d_ImBuf(const struct ImageFormatData *im_format, struct ImBuf *ibuf_left, struct ImBuf *ibuf_right)
bool addzbufImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:253
struct ImBuf * IMB_onehalf(struct ImBuf *ibuf1)
Definition: scaling.c:433
void IMB_close_anim_proxies(struct anim *anim)
Definition: anim_movie.c:224
void IMB_rectfill_area_replace(const struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2)
bool IMB_scaleImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
Definition: scaling.c:1644
void IMB_color_to_bw(struct ImBuf *ibuf)
Definition: divers.c:844
struct GPUTexture * IMB_create_gpu_texture(const char *name, struct ImBuf *ibuf, bool use_high_bitdepth, bool use_premult)
Definition: util_gpu.c:227
void IMB_rectfill_alpha(struct ImBuf *ibuf, float value)
Definition: rectop.c:1262
bool IMB_anim_get_fps(struct anim *anim, short *frs_sec, float *frs_sec_base, bool no_av_base)
Definition: anim_movie.c:1678
void IMB_free_anim(struct anim *anim)
Definition: anim_movie.c:193
void IMB_remakemipmap(struct ImBuf *ibuf, int use_filter)
Definition: filter.c:537
struct GPUTexture * IMB_touch_gpu_texture(const char *name, struct ImBuf *ibuf, int w, int h, int layers, bool use_high_bitdepth)
Definition: util_gpu.c:179
struct ImBuf * IMB_allocImBuf(unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
Definition: allocimbuf.c:500
bool imb_addrectfloatImBuf(struct ImBuf *ibuf, const unsigned int channels)
Definition: allocimbuf.c:367
void IMB_mask_filter_extend(char *mask, int width, int height)
Definition: filter.c:307
void IMB_mask_clear(struct ImBuf *ibuf, const char *mask, int val)
Definition: filter.c:351
void IMB_rectclip(struct ImBuf *dbuf, const struct ImBuf *sbuf, int *destx, int *desty, int *srcx, int *srcy, int *width, int *height)
struct ImBuf * IMB_double_x(struct ImBuf *ibuf1)
Definition: scaling.c:152
void bilinear_interpolation_color_fl(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
void(* InterpolationColorFunction)(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: IMB_imbuf.h:686
void nearest_interpolation_color_fl(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
struct ImBuf * IMB_dupImBuf(const struct ImBuf *ibuf1)
void IMB_rect_from_float(struct ImBuf *ibuf)
Definition: divers.c:696
struct ImBuf * IMB_double_y(struct ImBuf *ibuf1)
Definition: scaling.c:307
bool IMB_get_gop_decode_time(struct anim *anim)
void IMB_rect_crop(struct ImBuf *ibuf, const struct rcti *crop)
IMB_Proxy_Size
Definition: IMB_imbuf.h:340
@ IMB_PROXY_100
Definition: IMB_imbuf.h:345
@ IMB_PROXY_MAX_SLOT
Definition: IMB_imbuf.h:346
@ IMB_PROXY_75
Definition: IMB_imbuf.h:344
@ IMB_PROXY_50
Definition: IMB_imbuf.h:343
@ IMB_PROXY_25
Definition: IMB_imbuf.h:342
@ IMB_PROXY_NONE
Definition: IMB_imbuf.h:341
void IMB_freeImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:192
void IMB_close_anim(struct anim *anim)
Definition: anim_movie.c:215
void IMB_ffmpeg_init(void)
void IMB_filtery(struct ImBuf *ibuf)
Definition: filter.c:102
void imb_freerectImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:97
unsigned int * IMB_gettile(struct ImBuf *ibuf, int tx, int ty, int thread)
Definition: cache.c:421
void IMB_anim_set_index_dir(struct anim *anim, const char *dir)
Definition: indexer.c:1527
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_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 *))
Definition: imageprocess.c:355
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)
size_t IMB_get_size_in_memory(struct ImBuf *ibuf)
Definition: allocimbuf.c:655
void IMB_sampleImageAtLocation(struct ImBuf *ibuf, float x, float y, bool make_linear_rgb, float color[4])
Definition: imageprocess.c:484
int IMB_anim_get_image_height(struct anim *anim)
Definition: anim_movie.c:1716
void IMB_freezbufImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:154
int IMB_anim_index_get_frame_index(struct anim *anim, IMB_Timecode_Type tc, int position)
Definition: indexer.c:1590
eIMBTransformMode
Transform modes to use for IMB_transform function.
Definition: IMB_imbuf.h:892
@ IMB_TRANSFORM_MODE_WRAP_REPEAT
Wrap repeat the source buffer. Only supported in with nearest filtering.
Definition: IMB_imbuf.h:898
@ IMB_TRANSFORM_MODE_REGULAR
Do not crop or repeat.
Definition: IMB_imbuf.h:894
@ IMB_TRANSFORM_MODE_CROP_SRC
Crop the source buffer.
Definition: IMB_imbuf.h:896
void IMB_rect_size_set(struct ImBuf *ibuf, const uint size[2])
Definition: rectop.c:285
void IMB_refImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:220
bool IMB_initImBuf(struct ImBuf *ibuf, unsigned int x, unsigned int y, unsigned char planes, unsigned int flags)
Definition: allocimbuf.c:516
void IMB_anim_index_rebuild_finish(struct IndexBuildContext *context, short stop)
Definition: indexer.c:1486
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)
Definition: divers.c:627
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)
Definition: divers.c:350
void IMB_rectfill_area(struct ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2, struct ColorManagedDisplay *display)
Definition: rectop.c:1239
void imb_freerectImbuf_all(struct ImBuf *ibuf)
Definition: allocimbuf.c:182
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)
Definition: divers.c:409
bool addzbuffloatImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:270
struct ImBuf * IMB_testiffname(const char *filepath, int flags)
Definition: readimage.c:294
struct ImBuf * IMB_allocFromBufferOwn(unsigned int *rect, float *rectf, unsigned int w, unsigned int h, unsigned int channels)
Definition: allocimbuf.c:415
void imb_freemipmapImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:64
void * imb_alloc_pixels(unsigned int x, unsigned int y, unsigned int channels, size_t typesize, const char *name)
Definition: allocimbuf.c:354
struct anim * IMB_open_anim(const char *name, int ib_flags, int streamindex, char colorspace[IM_MAX_SPACE])
Definition: anim_movie.c:268
void IMB_saturation(struct ImBuf *ibuf, float sat)
Definition: divers.c:889
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)
Definition: rectop.c:1128
struct ImBuf * IMB_double_fast_y(struct ImBuf *ibuf1)
Definition: scaling.c:260
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)
Definition: divers.c:260
int IMB_ispic_type(const char *filepath)
Definition: util.c:151
void IMB_buffer_float_premultiply(float *buf, int width, int height)
Definition: divers.c:873
void IMB_blend_color_byte(unsigned char dst[4], const unsigned char src1[4], const unsigned char src2[4], IMB_BlendMode mode)
Definition: rectop.c:24
void IMB_ImBufFromStereo3d(const struct Stereo3dFormat *s3d, struct ImBuf *ibuf_stereo, struct ImBuf **r_ibuf_left, struct ImBuf **r_ibuf_right)
void IMB_float_from_rect_ex(struct ImBuf *dst, const struct ImBuf *src, const struct rcti *region_to_update)
void IMB_makemipmap(struct ImBuf *ibuf, int use_filter)
Definition: filter.c:573
struct ImBuf * IMB_getmipmap(struct ImBuf *ibuf, int level)
Definition: filter.c:610
void IMB_init(void)
Definition: module.c:16
struct ImBuf * IMB_half_y(struct ImBuf *ibuf1)
Definition: scaling.c:235
bool imb_addtilesImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:484
void IMB_processor_apply_threaded_scanlines(int total_scanlines, ScanlineThreadFunc do_thread, void *custom_data)
Definition: imageprocess.c:415
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)
Definition: divers.c:94
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)
Definition: divers.c:536
#define IM_MAX_SPACE
Definition: IMB_imbuf.h:49
void IMB_buffer_float_unpremultiply(float *buf, int width, int height)
Definition: divers.c:863
IMB_Proxy_Size IMB_anim_proxy_get_existing(struct anim *anim)
Definition: indexer.c:1601
IMB_BlendMode
Definition: IMB_imbuf.h:209
@ IMB_BLEND_EXCLUSION
Definition: IMB_imbuf.h:229
@ IMB_BLEND_DIFFERENCE
Definition: IMB_imbuf.h:228
@ IMB_BLEND_HARDLIGHT
Definition: IMB_imbuf.h:219
@ IMB_BLEND_COLORBURN
Definition: IMB_imbuf.h:220
@ IMB_BLEND_COLORDODGE
Definition: IMB_imbuf.h:222
@ IMB_BLEND_ERASE_ALPHA
Definition: IMB_imbuf.h:216
@ IMB_BLEND_SCREEN
Definition: IMB_imbuf.h:223
@ IMB_BLEND_HUE
Definition: IMB_imbuf.h:230
@ IMB_BLEND_MUL
Definition: IMB_imbuf.h:213
@ IMB_BLEND_ADD_ALPHA
Definition: IMB_imbuf.h:217
@ IMB_BLEND_DARKEN
Definition: IMB_imbuf.h:215
@ IMB_BLEND_OVERLAY
Definition: IMB_imbuf.h:218
@ IMB_BLEND_SATURATION
Definition: IMB_imbuf.h:231
@ IMB_BLEND_VIVIDLIGHT
Definition: IMB_imbuf.h:226
@ IMB_BLEND_LUMINOSITY
Definition: IMB_imbuf.h:232
@ IMB_BLEND_LIGHTEN
Definition: IMB_imbuf.h:214
@ IMB_BLEND_SOFTLIGHT
Definition: IMB_imbuf.h:224
@ IMB_BLEND_COPY_RGB
Definition: IMB_imbuf.h:237
@ IMB_BLEND_COLOR
Definition: IMB_imbuf.h:233
@ IMB_BLEND_LINEARLIGHT
Definition: IMB_imbuf.h:227
@ IMB_BLEND_COPY_ALPHA
Definition: IMB_imbuf.h:238
@ IMB_BLEND_PINLIGHT
Definition: IMB_imbuf.h:225
@ IMB_BLEND_MIX
Definition: IMB_imbuf.h:210
@ IMB_BLEND_COPY
Definition: IMB_imbuf.h:236
@ IMB_BLEND_INTERPOLATE
Definition: IMB_imbuf.h:234
@ IMB_BLEND_ADD
Definition: IMB_imbuf.h:211
@ IMB_BLEND_SUB
Definition: IMB_imbuf.h:212
@ IMB_BLEND_LINEARBURN
Definition: IMB_imbuf.h:221
void IMB_stereo3d_read_dimensions(char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height)
Definition: stereoimbuf.c:535
void IMB_exit(void)
Definition: module.c:25
struct ImBuf * IMB_loadiffname(const char *filepath, int flags, char colorspace[IM_MAX_SPACE])
Definition: readimage.c:209
bool IMB_alpha_affects_rgb(const struct ImBuf *ibuf)
void bicubic_interpolation_color(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: imageprocess.c:80
void bilinear_interpolation_color_char(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
Definition: filter.c:406
void IMB_gpu_clamp_half_float(struct ImBuf *image_buffer)
Definition: util_gpu.c:294
struct ImBuf * IMB_anim_previewframe(struct anim *anim)
Definition: anim_movie.c:1557
void IMB_premultiply_alpha(struct ImBuf *ibuf)
Definition: filter.c:662
struct ImBuf * IMB_half_x(struct ImBuf *ibuf1)
Definition: scaling.c:82
void IMB_transform(const struct ImBuf *src, struct ImBuf *dst, eIMBTransformMode mode, eIMBInterpolationFilterMode filter, const float transform_matrix[4][4], const struct rctf *src_crop)
Transform source image buffer onto destination image buffer using a transform matrix.
Definition: transform.cc:569
bool IMB_isanim(const char *filepath)
Definition: util.c:385
void nearest_interpolation_color(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: imageprocess.c:278
void nearest_interpolation_color_wrap(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: imageprocess.c:289
const char * IMB_ffmpeg_last_error(void)
int IMB_ispic_type_from_memory(const unsigned char *buf, size_t buf_size)
Definition: util.c:138
void IMB_suffix_anim(struct anim *anim, const char *suffix)
Definition: anim_movie.c:314
void IMB_convert_rgba_to_abgr(struct ImBuf *ibuf)
Definition: imageprocess.c:26
void IMB_blend_color_float(float dst[4], const float src1[4], const float src2[4], IMB_BlendMode mode)
Definition: rectop.c:112
struct ImBuf * IMB_loadifffile(int file, const char *filepath, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
Definition: readimage.c:156
double IMD_anim_get_offset(struct anim *anim)
Definition: anim_movie.c:1673
struct ImBuf * IMB_thumb_load_image(const char *filepath, const size_t max_thumb_size, char colorspace[IM_MAX_SPACE])
Definition: readimage.c:239
int ismovie(const char *filepath)
int * IMB_stereo3d_from_rect(const struct ImageFormatData *im_format, size_t x, size_t y, size_t channels, int *rect_left, int *rect_right)
void IMB_scaleImBuf_threaded(struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
Definition: scaling.c:1863
void bilinear_interpolation_color(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: imageprocess.c:128
void IMB_alpha_under_color_float(float *rect_float, int x, int y, float backcol[3])
Definition: imageprocess.c:435
struct ImBuf * IMB_ibImageFromMemory(const unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr)
Definition: readimage.c:84
bool IMB_ispic_type_matches(const char *filepath, int filetype)
Definition: util.c:161
void IMB_unpremultiply_alpha(struct ImBuf *ibuf)
Definition: filter.c:724
size_t IMB_get_rect_len(const struct ImBuf *ibuf)
Get the length of the rect of the given image buffer in terms of pixels.
void IMB_alpha_under_color_byte(unsigned char *rect, int x, int y, const float backcol[3])
Definition: imageprocess.c:449
int imb_get_anim_type(const char *filepath)
Definition: util.c:324
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)
Definition: util_gpu.c:198
void imb_freetilesImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:113
bool imb_addrectImBuf(struct ImBuf *ibuf)
Definition: allocimbuf.c:387
bool IMB_ispic(const char *filepath)
Definition: util.c:183
int IMB_anim_get_image_width(struct anim *anim)
Definition: anim_movie.c:1711
void IMB_flipx(struct ImBuf *ibuf)
Definition: rotate.c:75
void IMB_anim_get_fname(struct anim *anim, char *file, int size)
Definition: indexer.c:389
struct ImBuf * IMB_allocFromBuffer(const unsigned int *rect, const float *rectf, unsigned int w, unsigned int h, unsigned int channels)
Definition: allocimbuf.c:447
struct ImBuf * IMB_anim_absolute(struct anim *anim, int position, IMB_Timecode_Type tc, IMB_Proxy_Size preview_size)
Definition: anim_movie.c:1571
void IMB_stereo3d_write_dimensions(char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height)
Definition: stereoimbuf.c:507
void IMB_tile_cache_params(int totthread, int maxmem)
Definition: cache.c:236
void IMB_filter(struct ImBuf *ibuf)
Definition: filter.c:301
float * IMB_stereo3d_from_rectf(const struct ImageFormatData *im_format, size_t x, size_t y, size_t channels, float *rectf_left, float *rectf_right)
void IMB_tiles_to_rect(struct ImBuf *ibuf)
Definition: cache.c:426
void(* ScanlineThreadFunc)(void *custom_data, int scanline)
Definition: IMB_imbuf.h:882
eIMBInterpolationFilterMode
Definition: IMB_imbuf.h:349
@ IMB_FILTER_NEAREST
Definition: IMB_imbuf.h:350
@ IMB_FILTER_BILINEAR
Definition: IMB_imbuf.h:351
bool IMB_anim_can_produce_frames(const struct anim *anim)
Definition: anim_movie.c:295
bool IMB_scalefastImBuf(struct ImBuf *ibuf, unsigned int newx, unsigned int newy)
Definition: scaling.c:1689
bool IMB_saveiff(struct ImBuf *ibuf, const char *filepath, int flags)
Definition: writeimage.c:22
int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc)
Definition: anim_movie.c:1658
void IMB_flipy(struct ImBuf *ibuf)
Definition: rotate.c:16
void nearest_interpolation_color_char(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
void bilinear_interpolation_color_wrap(const struct ImBuf *in, unsigned char outI[4], float outF[4], float u, float v)
Definition: imageprocess.c:142
void IMB_rectcpy(struct ImBuf *dbuf, const struct ImBuf *sbuf, int destx, int desty, int srcx, int srcy, int width, int height)
IMB_Timecode_Type
Definition: IMB_imbuf.h:316
@ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN
Definition: IMB_imbuf.h:335
@ IMB_TC_RECORD_RUN_NO_GAPS
Definition: IMB_imbuf.h:336
@ IMB_TC_NONE
Definition: IMB_imbuf.h:318
@ IMB_TC_MAX_SLOT
Definition: IMB_imbuf.h:337
@ IMB_TC_FREE_RUN
Definition: IMB_imbuf.h:329
@ IMB_TC_RECORD_RUN
Definition: IMB_imbuf.h:324
void IMB_rectfill(struct ImBuf *drect, const float col[4])
Definition: rectop.c:1050
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
ATTR_WARN_UNUSED_RESULT const BMVert * v
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
SIMD_FORCE_INLINE const btScalar & w() const
Return the w value.
Definition: btQuadWord.h:119
Definition: thread.h:34
FILE * file
SyclQueue void void * src
SyclQueue void void size_t num_bytes void
uint col
DO_INLINE void filter(lfVector *V, fmatrix3x3 *S)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
Definition: math_float4.h:513
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
float dither
unsigned char planes
char name[IMB_FILENAME_SIZE]
unsigned int * rect
float * rect_float
Definition: IMB_anim.h:71
char suffix[64]
Definition: IMB_anim.h:139
int ib_flags
Definition: IMB_anim.h:72
char colorspace[64]
Definition: IMB_anim.h:138
int streamindex
Definition: IMB_anim.h:93
char name[1024]
Definition: IMB_anim.h:82