|
Blender V4.3
|
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 | |
| using | ScanlineThreadFunc = void (*)(void *custom_data, int scanline) |
Functions | |
| void | IMB_init () |
| void | IMB_exit () |
| ImBuf * | IMB_ibImageFromMemory (const unsigned char *mem, size_t size, int flags, char colorspace[IM_MAX_SPACE], const char *descr) |
| ImBuf * | IMB_testiffname (const char *filepath, int flags) |
| ImBuf * | IMB_loadiffname (const char *filepath, int flags, char colorspace[IM_MAX_SPACE]) |
| ENUM_OPERATORS (IMBThumbLoadFlags, IMBThumbLoadFlags::LoadLargeFiles) | |
| ImBuf * | IMB_thumb_load_image (const char *filepath, const size_t max_thumb_size, char colorspace[IM_MAX_SPACE], IMBThumbLoadFlags load_flags=IMBThumbLoadFlags::Zero) |
| void | IMB_freeImBuf (ImBuf *ibuf) |
| ImBuf * | IMB_allocImBuf (unsigned int x, unsigned int y, unsigned char planes, unsigned int flags) |
| bool | IMB_initImBuf (ImBuf *ibuf, unsigned int x, unsigned int y, unsigned char planes, unsigned int flags) |
| ImBuf * | IMB_allocFromBufferOwn (uint8_t *byte_buffer, float *float_buffer, unsigned int w, unsigned int h, unsigned int channels) |
| ImBuf * | IMB_allocFromBuffer (const uint8_t *byte_buffer, const float *float_buffer, unsigned int w, unsigned int h, unsigned int channels) |
| void | IMB_assign_byte_buffer (ImBuf *ibuf, uint8_t *buffer_data, ImBufOwnership ownership) |
| void | IMB_assign_float_buffer (ImBuf *ibuf, float *buffer_data, ImBufOwnership ownership) |
| void | IMB_assign_byte_buffer (ImBuf *ibuf, const ImBufByteBuffer &buffer, ImBufOwnership ownership) |
| void | IMB_assign_float_buffer (ImBuf *ibuf, const ImBufFloatBuffer &buffer, ImBufOwnership ownership) |
| void | IMB_assign_dds_data (ImBuf *ibuf, const DDSData &data, ImBufOwnership ownership) |
| void | IMB_make_writable_byte_buffer (ImBuf *ibuf) |
| void | IMB_make_writable_float_buffer (ImBuf *ibuf) |
| uint8_t * | IMB_steal_byte_buffer (ImBuf *ibuf) |
| float * | IMB_steal_float_buffer (ImBuf *ibuf) |
| uint8_t * | IMB_steal_encoded_buffer (ImBuf *ibuf) |
| void | IMB_refImBuf (ImBuf *ibuf) |
| ImBuf * | IMB_makeSingleUser (ImBuf *ibuf) |
| ImBuf * | IMB_dupImBuf (const ImBuf *ibuf1) |
| size_t | IMB_get_size_in_memory (ImBuf *ibuf) |
| size_t | IMB_get_rect_len (const ImBuf *ibuf) |
| Get the length of the rect of the given image buffer in terms of pixels. | |
| 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 (ImBuf *ibuf, const rcti *crop) |
| void | IMB_rect_size_set (ImBuf *ibuf, const uint size[2]) |
| void | IMB_rectclip (ImBuf *dbuf, const ImBuf *sbuf, int *destx, int *desty, int *srcx, int *srcy, int *width, int *height) |
| void | IMB_rectcpy (ImBuf *dbuf, const ImBuf *sbuf, int destx, int desty, int srcx, int srcy, int width, int height) |
| void | IMB_rectblend (ImBuf *dbuf, const ImBuf *obuf, const 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 (ImBuf *dbuf, const ImBuf *obuf, const 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 (ImBufAnim *anim, const char *dir) |
| void | IMB_anim_get_filename (ImBufAnim *anim, char *filename, int filename_maxncpy) |
| int | IMB_anim_index_get_frame_index (ImBufAnim *anim, IMB_Timecode_Type tc, int position) |
| int | IMB_anim_proxy_get_existing (ImBufAnim *anim) |
| IndexBuildContext * | IMB_anim_index_rebuild_context (ImBufAnim *anim, IMB_Timecode_Type tcs_in_use, int proxy_sizes_in_use, int quality, const bool overwrite, GSet *file_list, bool build_only_on_bad_performance) |
| void | IMB_anim_index_rebuild (IndexBuildContext *context, bool *stop, bool *do_update, float *progress) |
| void | IMB_anim_index_rebuild_finish (IndexBuildContext *context, bool stop) |
| int | IMB_anim_get_duration (ImBufAnim *anim, IMB_Timecode_Type tc) |
| double | IMD_anim_get_offset (ImBufAnim *anim) |
| bool | IMB_anim_get_fps (const ImBufAnim *anim, bool no_av_base, short *r_frs_sec, float *r_frs_sec_base) |
| ImBufAnim * | IMB_open_anim (const char *filepath, int ib_flags, int streamindex, char colorspace[IM_MAX_SPACE]) |
| void | IMB_suffix_anim (ImBufAnim *anim, const char *suffix) |
| void | IMB_close_anim (ImBufAnim *anim) |
| void | IMB_close_anim_proxies (ImBufAnim *anim) |
| bool | IMB_anim_can_produce_frames (const ImBufAnim *anim) |
| int | IMB_anim_get_image_width (ImBufAnim *anim) |
| int | IMB_anim_get_image_height (ImBufAnim *anim) |
| bool | IMB_get_gop_decode_time (ImBufAnim *anim) |
| ImBuf * | IMB_anim_absolute (ImBufAnim *anim, int position, IMB_Timecode_Type tc, IMB_Proxy_Size preview_size) |
| ImBuf * | IMB_anim_previewframe (ImBufAnim *anim) |
| void | IMB_free_anim (ImBufAnim *anim) |
| void | IMB_mask_filter_extend (char *mask, int width, int height) |
| void | IMB_mask_clear (ImBuf *ibuf, const char *mask, int val) |
| void | IMB_filter_extend (ImBuf *ibuf, char *mask, int filter) |
| void | IMB_makemipmap (ImBuf *ibuf, int use_filter) |
| void | IMB_remakemipmap (ImBuf *ibuf, int use_filter) |
| ImBuf * | IMB_getmipmap (ImBuf *ibuf, int level) |
| void | IMB_filtery (ImBuf *ibuf) |
| ImBuf * | IMB_onehalf (ImBuf *ibuf1) |
| bool | IMB_scale (ImBuf *ibuf, unsigned int newx, unsigned int newy, IMBScaleFilter filter, bool threaded=true) |
| bool | IMB_saveiff (ImBuf *ibuf, const char *filepath, int flags) |
| 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, size_t buf_size) |
| int | IMB_ispic_type (const char *filepath) |
| bool | IMB_isanim (const char *filepath) |
| bool | IMB_alpha_affects_rgb (const ImBuf *ibuf) |
| void | IMB_rect_from_float (ImBuf *ibuf) |
| void | IMB_float_from_rect_ex (ImBuf *dst, const ImBuf *src, const rcti *region_to_update) |
| void | IMB_float_from_rect (ImBuf *ibuf) |
| void | IMB_color_to_bw (ImBuf *ibuf) |
| void | IMB_saturation (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_convert_rgba_to_abgr (ImBuf *ibuf) |
| 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]) |
| ImBuf * | IMB_loadifffile (int file, int flags, char colorspace[IM_MAX_SPACE], const char *descr) |
| ImBuf * | IMB_half_x (ImBuf *ibuf1) |
| ImBuf * | IMB_half_y (ImBuf *ibuf1) |
| void | IMB_flipx (ImBuf *ibuf) |
| void | IMB_flipy (ImBuf *ibuf) |
| bool | IMB_rotate_orthogonal (ImBuf *ibuf, int degrees) |
| void | IMB_premultiply_alpha (ImBuf *ibuf) |
| void | IMB_unpremultiply_alpha (ImBuf *ibuf) |
| void | IMB_rectfill (ImBuf *drect, const float col[4]) |
| void | IMB_rectfill_area (ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2, ColorManagedDisplay *display) |
| void | IMB_rectfill_area_replace (const ImBuf *ibuf, const float col[4], int x1, int y1, int x2, int y2) |
| void | IMB_rectfill_alpha (ImBuf *ibuf, float value) |
| void | buf_rectfill_area (unsigned char *rect, float *rectf, int width, int height, const float col[4], 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, bool initialize_pixels, const char *alloc_name) |
| bool | imb_addrectImBuf (ImBuf *ibuf, bool initialize_pixels=true) |
| void | imb_freerectImBuf (ImBuf *ibuf) |
| bool | imb_addrectfloatImBuf (ImBuf *ibuf, const unsigned int channels, bool initialize_pixels=true) |
| void | imb_freerectfloatImBuf (ImBuf *ibuf) |
| void | imb_freemipmapImBuf (ImBuf *ibuf) |
| void | imb_freerectImbuf_all (ImBuf *ibuf) |
| void | IMB_free_gpu_textures (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_transform (const ImBuf *src, ImBuf *dst, eIMBTransformMode mode, eIMBInterpolationFilterMode filter, const float transform_matrix[4][4], const rctf *src_crop) |
| Transform source image buffer onto destination image buffer using a transform matrix. | |
| void | IMB_ffmpeg_init () |
| const char * | IMB_ffmpeg_last_error () |
| GPUTexture * | IMB_create_gpu_texture (const char *name, ImBuf *ibuf, bool use_high_bitdepth, bool use_premult) |
| eGPUTextureFormat | IMB_gpu_get_texture_format (const ImBuf *ibuf, bool high_bitdepth, bool use_grayscale) |
| void | IMB_gpu_clamp_half_float (ImBuf *image_buffer) |
| GPUTexture * | IMB_touch_gpu_texture (const char *name, ImBuf *ibuf, int w, int h, int layers, bool use_high_bitdepth, bool use_grayscale) |
| void | IMB_update_gpu_texture_sub (GPUTexture *tex, ImBuf *ibuf, int x, int y, int z, int w, int h, bool use_high_bitdepth, bool use_grayscale, bool use_premult) |
| void | IMB_stereo3d_write_dimensions (char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height) |
| void | IMB_stereo3d_read_dimensions (char mode, bool is_squeezed, size_t width, size_t height, size_t *r_width, size_t *r_height) |
| int * | IMB_stereo3d_from_rect (const ImageFormatData *im_format, size_t x, size_t y, size_t channels, int *rect_left, int *rect_right) |
| float * | IMB_stereo3d_from_rectf (const ImageFormatData *im_format, size_t x, size_t y, size_t channels, float *rectf_left, float *rectf_right) |
| ImBuf * | IMB_stereo3d_ImBuf (const ImageFormatData *im_format, ImBuf *ibuf_left, ImBuf *ibuf_right) |
| void | IMB_ImBufFromStereo3d (const Stereo3dFormat *s3d, ImBuf *ibuf_stereo3d, ImBuf **r_ibuf_left, ImBuf **r_ibuf_right) |
| #define FILTER_MASK_MARGIN 1 |
Definition at line 377 of file IMB_imbuf.hh.
Referenced by IMB_filter_extend(), and IMB_mask_filter_extend().
| #define FILTER_MASK_NULL 0 |
Definition at line 376 of file IMB_imbuf.hh.
| #define FILTER_MASK_USED 2 |
Definition at line 378 of file IMB_imbuf.hh.
Referenced by bake_ibuf_normalize_displacement(), IMB_buffer_byte_from_float_mask(), IMB_buffer_float_from_float_mask(), RE_bake_mask_fill(), and set_rast_triangle().
| #define IM_MAX_SPACE 64 |
Definition at line 49 of file IMB_imbuf.hh.
Referenced by imb_handle_alpha(), IMB_ibImageFromMemory(), imb_load_dpx_cineon(), imb_load_filepath_thumbnail_openexr(), imb_load_filepath_thumbnail_svg(), imb_load_filepath_thumbnail_webp(), imb_load_jp2_stream(), imb_load_jpeg(), imb_load_openexr(), imb_loadiris(), imb_loadwebp(), IMB_open_anim(), IMB_testiffname(), IMB_thumb_load_image(), imb_thumbnail_jpeg(), and blender::imbuf::set_colorspace_name().
| using ScanlineThreadFunc = void (*)(void *custom_data, int scanline) |
Definition at line 666 of file IMB_imbuf.hh.
| Enumerator | |
|---|---|
| IMB_FILTER_NEAREST | |
| IMB_FILTER_BILINEAR | |
| IMB_FILTER_CUBIC_BSPLINE | |
| IMB_FILTER_CUBIC_MITCHELL | |
| IMB_FILTER_BOX | |
Definition at line 288 of file IMB_imbuf.hh.
| enum eIMBTransformMode |
Transform modes to use for IMB_transform function.
These are not flags as the combination of cropping and repeat can lead to different expectation.
Definition at line 676 of file IMB_imbuf.hh.
| enum IMB_BlendMode |
Definition at line 186 of file IMB_imbuf.hh.
|
strong |
Interpolation filter used by IMB_scale.
| Enumerator | |
|---|---|
| Nearest | No filtering (point sampling). This is fastest but lowest quality. |
| Bilinear | Bilinear filter: each pixel in result image interpolates between 2x2 pixels of source image. |
| Box | Box filter. Behaves exactly like Bilinear when scaling up, better results when scaling down by more than 2x. |
Definition at line 404 of file IMB_imbuf.hh.
|
strong |
| Enumerator | |
|---|---|
| Zero | |
| LoadLargeFiles | Normally files larger than 100MB are not loaded for thumbnails, except when this flag is set. |
Definition at line 76 of file IMB_imbuf.hh.
| void buf_rectfill_area | ( | unsigned char * | rect, |
| float * | rectf, | ||
| int | width, | ||
| int | height, | ||
| const float | col[4], | ||
| ColorManagedDisplay * | display, | ||
| int | x1, | ||
| int | y1, | ||
| int | x2, | ||
| int | y2 ) |
This should not be here, really, we needed it for operating on render data, IMB_rectfill_area calls it.
Definition at line 1130 of file rectop.cc.
References CLAMP, col, copy_v4_v4(), fb(), IMB_colormanagement_display_to_scene_linear_v3(), srgb_to_linearrgb_v4(), and unit_float_to_uchar_clamp.
Referenced by BKE_image_stamp_buf(), and IMB_rectfill_area().
| ENUM_OPERATORS | ( | IMBThumbLoadFlags | , |
| IMBThumbLoadFlags::LoadLargeFiles | ) |
| bool imb_addrectfloatImBuf | ( | ImBuf * | ibuf, |
| const unsigned int | channels, | ||
| bool | initialize_pixels = true ) |
Definition at line 382 of file allocimbuf.cc.
References channels(), ImBuf::channels, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IB_rectfloat, imb_alloc_buffer(), imb_freerectfloatImBuf(), ImBuf::x, and ImBuf::y.
Referenced by IMB_dupImBuf(), IMB_ImBufFromStereo3d(), IMB_initImBuf(), imb_load_openexr(), IMB_stereo3d_ImBuf(), seq_imbuf_to_sequencer_space(), ubuf_ensure_compat_ibuf(), and blender::render::Context::viewer_output_to_viewer_image().
Definition at line 407 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::flags, IB_rect, imb_alloc_buffer(), imb_free_buffer(), ImBuf::x, and ImBuf::y.
Referenced by colormanagement_imbuf_make_display_space(), IMB_ImBufFromStereo3d(), IMB_initImBuf(), imb_loadwebp(), imb_onehalf_no_alloc(), IMB_rect_from_float(), IMB_stereo3d_ImBuf(), blender::compositor::PreviewOperation::init_execution(), blender::bke::node_preview_verify(), and ubuf_ensure_compat_ibuf().
| void * imb_alloc_pixels | ( | unsigned int | x, |
| unsigned int | y, | ||
| unsigned int | channels, | ||
| size_t | typesize, | ||
| bool | initialize_pixels, | ||
| const char * | alloc_name ) |
Exported for image tools in blender, to quickly allocate 32 bits rect.
Definition at line 369 of file allocimbuf.cc.
References MEM_callocN, MEM_mallocN, and SIZE_MAX.
Referenced by convertRGBAToLogElement(), imb_alloc_buffer(), logImageGetDataRGBA(), and logImageSetDataRGBA().
| ImBuf * IMB_allocFromBuffer | ( | const uint8_t * | byte_buffer, |
| const float * | float_buffer, | ||
| unsigned int | w, | ||
| unsigned int | h, | ||
| unsigned int | channels ) |
Create a copy of a pixel buffer and wrap it to a new ImBuf
Definition at line 223 of file gpu_shader_builder_stubs.cc.
References BLI_assert_unreachable, ImBuf::byte_buffer, channels(), ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, imb_alloc_buffer(), IMB_allocImBuf(), and w().
Referenced by BKE_main_thumbnail_to_imbuf(), imb_gpu_get_data(), imb_load_filepath_thumbnail_openexr(), GHOST_SystemWayland::putClipboardImage(), putClipboardImagePNG(), studiolight_load_equirect_image(), UI_svg_icon_bitmap(), update_do_scale(), and WM_clipboard_image_get().
| ImBuf * IMB_allocFromBufferOwn | ( | uint8_t * | byte_buffer, |
| float * | float_buffer, | ||
| unsigned int | w, | ||
| unsigned int | h, | ||
| unsigned int | channels ) |
Create a copy of a pixel buffer and wrap it to a new ImBuf (transferring ownership to the in imbuf).
Definition at line 518 of file allocimbuf.cc.
References BLI_assert, channels(), ImBuf::channels, IB_TAKE_OWNERSHIP, IMB_allocImBuf(), IMB_assign_byte_buffer(), IMB_assign_float_buffer(), MEM_allocN_len, and w().
Referenced by blend_file_thumb_from_screenshot(), and studiolight_load_equirect_image().
Definition at line 51 of file gpu_shader_builder_stubs.cc.
References BLI_assert_unreachable, IMB_freeImBuf(), and IMB_initImBuf().
Referenced by accessor_get_ibuf(), add_ibuf_for_tile(), blender::realtime_compositor::FileOutput::add_pass(), blender::realtime_compositor::FileOutput::add_view(), BKE_icon_geom_rasterize(), BKE_previewimg_to_imbuf(), BKE_tracking_get_plane_imbuf(), BKE_tracking_get_search_imbuf(), BKE_tracking_sample_pattern(), BKE_tracking_stabilize_frame(), brush_painter_imbuf_new(), brush_painter_imbuf_partial_update(), blender::io::usd::cache_image_color(), blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), colormanage_cache_put(), blender::realtime_compositor::compute_linear_buffer(), blender::imbuf::tests::create_6x2_test_image(), blender::imbuf::tests::create_6x2_test_image_fl(), create_missing_media_image(), create_src_image(), dynamicPaint_outputSurfaceImage(), ED_view3d_draw_offscreen_imbuf(), blender::compositor::DebugInfo::export_operation(), float_image_to_ibuf(), ibJpegImageFromCinfo(), image_acquire_ibuf(), image_get_render_result(), blender::ed::greasepencil::image_render::image_render_end(), IMB_allocFromBuffer(), IMB_allocFromBufferOwn(), IMB_dupImBuf(), IMB_font_preview(), IMB_half_x(), IMB_half_y(), IMB_ImBufFromStereo3d(), imb_load_dpx_cineon(), imb_load_filepath_thumbnail_openexr(), imb_load_filepath_thumbnail_svg(), imb_load_filepath_thumbnail_webp(), imb_load_jp2_stream(), imb_load_openexr(), imb_loadiris(), imb_loadwebp(), IMB_makemipmap(), IMB_onehalf(), IMB_remakemipmap(), imb_scale_via_transform(), IMB_stereo3d_ImBuf(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_load_font(), imbuf_alloc_temp_tile(), input_preprocess(), blender::imbuf::load_pixels(), Freestyle::Canvas::loadMap(), M_imbuf_new(), make_grayscale_ibuf_copy(), blender::ed::seq::make_sep_waveform_view_from_ibuf(), blender::ed::seq::make_vectorscope_view_from_ibuf(), blender::ed::seq::make_waveform_view_from_ibuf(), blender::ed::seq::make_zebra_view_from_ibuf(), blender::bke::node_preview_verify(), NSImageToImBuf(), paint_2d_lift_clone(), prepare_effect_imbufs(), RE_layer_load_from_file(), RE_render_result_rect_to_ibuf(), RE_RenderPassEnsureImBuf(), RE_RenderViewEnsureImBuf(), render_layer_allocate_pass(), 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(), blender::imbuf::tests::TEST(), thumb_create_ex(), blender::imbuf::tests::transform_2x_smaller(), blender::imbuf::tests::transform_fractional_larger(), ui_tooltip_data_from_button_or_extra_icon(), and blender::ed::object::write_external_bake_pixels().
| bool IMB_alpha_affects_rgb | ( | const ImBuf * | ibuf | ) |
Test if color-space conversions of pixels in buffer need to take into account alpha.
Definition at line 91 of file divers.cc.
References ImBuf::flags, and IB_alphamode_channel_packed.
Referenced by colormanage_imbuf_make_linear(), display_buffer_init_handle(), blender::draw::image_engine::SpaceImageAccessor::get_shader_parameters(), blender::draw::image_engine::SpaceNodeAccessor::get_shader_parameters(), IMB_colormanagement_imbuf_to_byte_texture(), IMB_colormanagement_imbuf_to_float_texture(), IMB_float_from_rect_ex(), and IMB_rect_from_float().
Definition at line 160 of file imageprocess.cc.
Referenced by IMB_colormanagement_imbuf_for_write().
Definition at line 146 of file imageprocess.cc.
References madd_v3_v3fl(), mul(), and y.
Referenced by IMB_colormanagement_imbuf_for_write().
| ImBuf * IMB_anim_absolute | ( | ImBufAnim * | anim, |
| int | position, | ||
| IMB_Timecode_Type | tc, | ||
| IMB_Proxy_Size | preview_size ) |
Definition at line 1258 of file anim_movie.cc.
References anim_getnew(), ImBufAnim::cur_position, ImBufAnim::duration_in_frames, ImBuf::filepath, ImBufAnim::filepath, IMB_anim_absolute(), IMB_anim_index_get_frame_index(), IMB_anim_open_proxy(), IMB_PROXY_NONE, IMB_TC_NONE, SNPRINTF, ImBufAnim::state, ImBufAnim::Uninitialized, and ImBufAnim::Valid.
Referenced by build_pict_list_from_anim(), ibuf_from_picture(), IMB_anim_absolute(), IMB_anim_previewframe(), load_movie_single(), movieclip_load_movie_file(), openanim(), seq_proxy_fetch(), seq_render_movie_strip_custom_file_proxy(), seq_render_movie_strip_view(), thumb_create_ex(), and wm_main_playanim_intern().
| bool IMB_anim_can_produce_frames | ( | const ImBufAnim * | anim | ) |
Definition at line 144 of file anim_movie.cc.
References UNUSED_VARS.
Referenced by SEQ_add_movie_reload_if_needed().
| int IMB_anim_get_duration | ( | ImBufAnim * | anim, |
| IMB_Timecode_Type | tc ) |
Return the length (in frames) of the given anim.
Definition at line 1309 of file anim_movie.cc.
References ImBufAnim::duration_in_frames, IMB_anim_open_index(), IMB_indexer_get_duration(), and IMB_TC_NONE.
Referenced by build_pict_list_from_anim(), image_match_len_exec(), load_movie_single(), movieclip_calc_length(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), prefetch_data_fn(), SEQ_add_movie_strip(), SEQ_add_reload_new_file(), ui_tooltip_from_clip(), ui_tooltip_from_image(), and uiTemplateImageInfo().
Definition at line 381 of file indexer.cc.
References BLI_path_split_file_part(), and ImBufAnim::filepath.
Referenced by seq_proxy_index_dir_set().
| bool IMB_anim_get_fps | ( | const ImBufAnim * | anim, |
| bool | no_av_base, | ||
| short * | r_frs_sec, | ||
| float * | r_frs_sec_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 1329 of file anim_movie.cc.
References BLI_assert, double(), float, ImBufAnim::frs_sec, ImBufAnim::frs_sec_base, and UNUSED_VARS.
Referenced by BKE_movieclip_get_fps(), blender::nodes::node_geo_image_info_cc::node_geo_exec(), prefetch_data_fn(), SEQ_add_movie_strip(), seq_render_movie_strip(), SEQ_time_sequence_get_fps(), uiTemplateMovieclipInformation(), and wm_main_playanim_intern().
Definition at line 1370 of file anim_movie.cc.
References ImBufAnim::y.
Referenced by SEQ_add_movie_strip(), and ui_tooltip_from_clip().
Definition at line 1365 of file anim_movie.cc.
References ImBufAnim::x.
Referenced by SEQ_add_movie_strip(), and ui_tooltip_from_clip().
| int IMB_anim_index_get_frame_index | ( | ImBufAnim * | anim, |
| IMB_Timecode_Type | tc, | ||
| int | position ) |
Definition at line 1402 of file indexer.cc.
References IMB_anim_open_index(), and IMB_indexer_get_frame_index().
Referenced by IMB_anim_absolute(), and seq_proxy_fetch().
| void IMB_anim_index_rebuild | ( | IndexBuildContext * | context, |
| bool * | stop, | ||
| bool * | do_update, | ||
| float * | progress ) |
Will rebuild all used indices and proxies at once.
Definition at line 1283 of file indexer.cc.
References UNUSED_VARS.
Referenced by do_movie_proxy(), and SEQ_proxy_rebuild().
| IndexBuildContext * IMB_anim_index_rebuild_context | ( | ImBufAnim * | anim, |
| IMB_Timecode_Type | tcs_in_use, | ||
| int | proxy_sizes_in_use, | ||
| int | quality, | ||
| const bool | overwrite, | ||
| GSet * | file_list, | ||
| bool | build_only_on_bad_performance ) |
Prepare context for proxies/time-codes builder
Definition at line 1212 of file indexer.cc.
References BLI_gset_ensure_p_ex(), BLI_strdup(), FILE_MAX, get_proxy_filepath(), IMB_anim_proxy_get_existing(), IMB_PROXY_MAX_SLOT, printf, proxy_sizes, ImBufAnim::state, UNUSED_VARS, and ImBufAnim::Valid.
Referenced by clip_rebuild_proxy_exec(), and SEQ_proxy_rebuild_context().
| void IMB_anim_index_rebuild_finish | ( | IndexBuildContext * | context, |
| bool | stop ) |
Finish rebuilding proxies/time-codes and free temporary contexts used.
Definition at line 1301 of file indexer.cc.
References proxy_sizes, and UNUSED_VARS.
Referenced by proxy_endjob(), and SEQ_proxy_rebuild_finish().
fetches a define preview-frame, usually half way into the movie.
Definition at line 1220 of file anim_movie.cc.
References ImBufAnim::duration_in_frames, IMB_anim_absolute(), IMB_freeImBuf(), IMB_metadata_ensure(), IMB_metadata_set_field(), IMB_PROXY_NONE, IMB_TC_NONE, ImBuf::metadata, SNPRINTF, ImBufAnim::x, and ImBufAnim::y.
Referenced by thumb_create_ex(), and ui_tooltip_from_clip().
Definition at line 1413 of file indexer.cc.
References BLI_exists(), FILE_MAX, get_proxy_filepath(), IMB_PROXY_MAX_SLOT, IMB_PROXY_NONE, int, and proxy_sizes.
Referenced by IMB_anim_index_rebuild_context(), and seq_proxy_need_rebuild().
| void IMB_anim_set_index_dir | ( | ImBufAnim * | anim, |
| const char * | dir ) |
Defaults to BL_proxy within the directory of the animation.
Definition at line 1336 of file indexer.cc.
References IMB_free_indices(), ImBufAnim::index_dir, STREQ, and STRNCPY.
Referenced by movieclip_open_anim_file(), and seq_proxy_index_dir_set().
| void IMB_assign_byte_buffer | ( | ImBuf * | ibuf, |
| const ImBufByteBuffer & | buffer, | ||
| ImBufOwnership | ownership ) |
Assign the content and the color space of the corresponding buffer the data from the given buffer.
Definition at line 492 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::colorspace, ImBufByteBuffer::data, and IMB_assign_byte_buffer().
| void IMB_assign_byte_buffer | ( | ImBuf * | ibuf, |
| uint8_t * | buffer_data, | ||
| ImBufOwnership | ownership ) |
Assign the content of the corresponding buffer with the given data and ownership. The current content of the buffer is released corresponding to its ownership configuration.
Definition at line 466 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBuf::flags, IB_rect, imb_free_buffer(), and ImBufByteBuffer::ownership.
Referenced by colormanage_cache_put(), blender::realtime_compositor::compute_linear_buffer(), image_undo_steal_and_assign_byte_buffer(), IMB_allocFromBufferOwn(), IMB_assign_byte_buffer(), paint_2d_do_making_brush(), RE_render_result_rect_from_ibuf(), RE_render_result_rect_to_ibuf(), render_result_rect_fill_zero(), scale_with_function(), and screenshot_exec().
| void IMB_assign_dds_data | ( | ImBuf * | ibuf, |
| const DDSData & | data, | ||
| ImBufOwnership | ownership ) |
Definition at line 508 of file allocimbuf.cc.
References BLI_assert, data, ImBuf::dds_data, ImBuf::ftype, imb_free_dds_buffer(), IMB_FTYPE_DDS, and DDSData::ownership.
Referenced by blender::realtime_compositor::compute_linear_buffer().
| void IMB_assign_float_buffer | ( | ImBuf * | ibuf, |
| const ImBufFloatBuffer & | buffer, | ||
| ImBufOwnership | ownership ) |
Definition at line 500 of file allocimbuf.cc.
References ImBufFloatBuffer::colorspace, ImBufFloatBuffer::data, ImBuf::float_buffer, and IMB_assign_float_buffer().
| void IMB_assign_float_buffer | ( | ImBuf * | ibuf, |
| float * | buffer_data, | ||
| ImBufOwnership | ownership ) |
Definition at line 479 of file allocimbuf.cc.
References ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IB_rectfloat, imb_free_buffer(), and ImBufFloatBuffer::ownership.
Referenced by blender::realtime_compositor::FileOutput::add_pass(), blender::realtime_compositor::FileOutput::add_view(), BKE_brush_gen_radial_control_imbuf(), BKE_movieclip_convert_multilayer_ibuf(), blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), blender::realtime_compositor::compute_linear_buffer(), blender::compositor::CompositorOperation::deinit_execution(), float_image_to_ibuf(), image_undo_steal_and_assign_float_buffer(), IMB_allocFromBufferOwn(), IMB_assign_float_buffer(), IMB_float_from_rect(), make_grayscale_ibuf_copy(), blender::render::Context::output_to_render_result(), paint_2d_do_making_brush(), RE_pass_set_buffer_data(), RE_render_result_rect_from_ibuf(), RE_render_result_rect_to_ibuf(), render_layer_allocate_pass(), scale_with_function(), and shader_preview_texture().
| void IMB_blend_color_byte | ( | unsigned char | dst[4], |
| const unsigned char | src1[4], | ||
| const unsigned char | src2[4], | ||
| IMB_BlendMode | mode ) |
Definition at line 27 of file rectop.cc.
References blend_color_add_alpha_byte(), blend_color_add_byte(), blend_color_burn_byte(), blend_color_color_byte(), blend_color_darken_byte(), blend_color_difference_byte(), blend_color_dodge_byte(), blend_color_erase_alpha_byte(), blend_color_exclusion_byte(), blend_color_hardlight_byte(), blend_color_hue_byte(), blend_color_lighten_byte(), blend_color_linearburn_byte(), blend_color_linearlight_byte(), blend_color_luminosity_byte(), blend_color_mix_byte(), blend_color_mul_byte(), blend_color_overlay_byte(), blend_color_pinlight_byte(), blend_color_saturation_byte(), blend_color_screen_byte(), blend_color_softlight_byte(), blend_color_sub_byte(), blend_color_vividlight_byte(), IMB_BLEND_ADD, IMB_BLEND_ADD_ALPHA, IMB_BLEND_COLOR, IMB_BLEND_COLORBURN, IMB_BLEND_COLORDODGE, IMB_BLEND_DARKEN, IMB_BLEND_DIFFERENCE, IMB_BLEND_ERASE_ALPHA, IMB_BLEND_EXCLUSION, IMB_BLEND_HARDLIGHT, IMB_BLEND_HUE, IMB_BLEND_LIGHTEN, IMB_BLEND_LINEARBURN, IMB_BLEND_LINEARLIGHT, IMB_BLEND_LUMINOSITY, IMB_BLEND_MIX, IMB_BLEND_MUL, IMB_BLEND_OVERLAY, IMB_BLEND_PINLIGHT, IMB_BLEND_SATURATION, IMB_BLEND_SCREEN, IMB_BLEND_SOFTLIGHT, IMB_BLEND_SUB, and IMB_BLEND_VIVIDLIGHT.
Referenced by do_projectpaint_clone(), do_projectpaint_draw(), do_projectpaint_mask(), do_projectpaint_thread(), paint_2d_bucket_fill(), and paint_2d_gradient_fill().
| void IMB_blend_color_float | ( | float | dst[4], |
| const float | src1[4], | ||
| const float | src2[4], | ||
| IMB_BlendMode | mode ) |
Definition at line 115 of file rectop.cc.
References blend_color_add_alpha_float(), blend_color_add_float(), blend_color_burn_float(), blend_color_color_float(), blend_color_darken_float(), blend_color_difference_float(), blend_color_dodge_float(), blend_color_erase_alpha_float(), blend_color_exclusion_float(), blend_color_hardlight_float(), blend_color_hue_float(), blend_color_lighten_float(), blend_color_linearburn_float(), blend_color_linearlight_float(), blend_color_luminosity_float(), blend_color_mix_float(), blend_color_mul_float(), blend_color_overlay_float(), blend_color_pinlight_float(), blend_color_saturation_float(), blend_color_screen_float(), blend_color_softlight_float(), blend_color_sub_float(), blend_color_vividlight_float(), IMB_BLEND_ADD, IMB_BLEND_ADD_ALPHA, IMB_BLEND_COLOR, IMB_BLEND_COLORBURN, IMB_BLEND_COLORDODGE, IMB_BLEND_DARKEN, IMB_BLEND_DIFFERENCE, IMB_BLEND_ERASE_ALPHA, IMB_BLEND_EXCLUSION, IMB_BLEND_HARDLIGHT, IMB_BLEND_HUE, IMB_BLEND_LIGHTEN, IMB_BLEND_LINEARBURN, IMB_BLEND_LINEARLIGHT, IMB_BLEND_LUMINOSITY, IMB_BLEND_MIX, IMB_BLEND_MUL, IMB_BLEND_OVERLAY, IMB_BLEND_PINLIGHT, IMB_BLEND_SATURATION, IMB_BLEND_SCREEN, IMB_BLEND_SOFTLIGHT, IMB_BLEND_SUB, and IMB_BLEND_VIVIDLIGHT.
Referenced by blender::ed::sculpt_paint::expand::colors_update_task(), blender::ed::sculpt_paint::color::do_paint_brush_task(), do_projectpaint_clone_f(), do_projectpaint_draw_f(), do_projectpaint_mask_f(), do_projectpaint_thread(), blender::ed::sculpt_paint::paint::image::PaintingKernel< ImageBuffer >::paint(), paint_2d_bucket_fill(), and paint_2d_gradient_fill().
| 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 ) |
Byte to byte pixels, input and output 4-channel RGBA.
Definition at line 625 of file divers.cc.
References BLI_assert, IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE, IB_PROFILE_SRGB, linearrgb_to_srgb_predivide_v4(), linearrgb_to_srgb_v4(), rgba_float_to_uchar(), rgba_uchar_to_float(), srgb_to_linearrgb_predivide_v4(), srgb_to_linearrgb_v4(), x, and y.
Referenced by do_display_buffer_apply_no_processor(), and imb_stereo3d_squeeze_rect().
| 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 ) |
Float to byte pixels, output 4-channel RGBA.
Definition at line 96 of file divers.cc.
References BLI_assert, clear_dither_context(), create_dither_context(), float_to_byte_dither_v4(), IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE, IB_PROFILE_SRGB, linearrgb_to_srgb_ushort4(), linearrgb_to_srgb_v3_v3(), premul_float_to_straight_uchar(), premul_to_straight_v4_v4(), rgb_float_to_uchar(), rgba_float_to_uchar(), srgb_to_linearrgb_predivide_v4(), srgb_to_linearrgb_v3_v3(), srgb_to_linearrgb_v4(), unit_float_to_uchar_clamp, ushort_to_byte_dither_v4(), ushort_to_byte_v4(), x, and y.
Referenced by do_display_buffer_apply_no_processor(), do_display_buffer_apply_thread(), do_glow_effect_byte(), IMB_display_buffer_transform_apply(), IMB_rect_from_float(), partial_buffer_update_rect(), blender::ed::object::write_external_bake_pixels(), and blender::ed::object::write_internal_bake_pixels().
| 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 ) |
Float to byte pixels, output 4-channel RGBA.
Definition at line 260 of file divers.cc.
References clear_dither_context(), create_dither_context(), FILTER_MASK_USED, float_to_byte_dither_v4(), premul_float_to_straight_uchar(), premul_to_straight_v4_v4(), rgb_float_to_uchar(), rgba_float_to_uchar(), unit_float_to_uchar_clamp, x, and y.
Referenced by blender::ed::object::write_internal_bake_pixels().
| 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 ) |
Byte to float pixels, input and output 4-channel RGBA.
Definition at line 348 of file divers.cc.
References BLI_assert, IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE, IB_PROFILE_SRGB, linearrgb_to_srgb_predivide_v4(), linearrgb_to_srgb_v4(), rgba_uchar_to_float(), srgb_to_linearrgb_uchar4(), srgb_to_linearrgb_uchar4_predivide(), x, and y.
Referenced by do_display_buffer_apply_no_processor(), do_processor_transform_thread(), IMB_colormanagement_transform_from_byte(), IMB_float_from_rect_ex(), and partial_buffer_update_rect().
| 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 ) |
Float to float pixels, output 4-channel RGBA.
Definition at line 407 of file divers.cc.
References BLI_assert, copy_v3_v3(), IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE, IB_PROFILE_SRGB, linearrgb_to_srgb_predivide_v4(), linearrgb_to_srgb_v3_v3(), linearrgb_to_srgb_v4(), srgb_to_linearrgb_predivide_v4(), srgb_to_linearrgb_v3_v3(), srgb_to_linearrgb_v4(), x, and y.
Referenced by do_display_buffer_apply_no_processor(), imb_buffer_float_from_float_thread_do(), IMB_buffer_float_from_float_threaded(), imb_stereo3d_squeeze_rectf(), studiolight_multilayer_convert_pass(), blender::ed::object::write_external_bake_pixels(), and blender::ed::object::write_internal_bake_pixels().
| 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 ) |
Float to float pixels, output 4-channel RGBA.
Definition at line 572 of file divers.cc.
References copy_v3_v3(), copy_v4_v4(), FILTER_MASK_USED, x, and y.
Referenced by blender::ed::object::write_internal_bake_pixels().
| 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 at line 534 of file divers.cc.
References data, IMB_buffer_float_from_float(), imb_buffer_float_from_float_thread_do(), IMB_processor_apply_threaded_scanlines(), and FloatToFloatThreadData::rect_to.
Referenced by BKE_image_buf_fill_checker_color().
| void IMB_close_anim | ( | ImBufAnim * | anim | ) |
Definition at line 76 of file anim_movie.cc.
References IMB_free_anim().
Referenced by build_pict_list_from_anim(), IMB_free_indices(), and wm_main_playanim_intern().
| void IMB_close_anim_proxies | ( | ImBufAnim * | anim | ) |
Definition at line 85 of file anim_movie.cc.
References IMB_free_indices().
Referenced by proxy_endjob(), and SEQ_proxy_rebuild_finish().
| void IMB_color_to_bw | ( | ImBuf * | ibuf | ) |
No profile conversion.
Definition at line 838 of file divers.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_colormanagement_get_luminance(), IMB_colormanagement_get_luminance_byte(), and IMB_get_rect_len().
Referenced by RE_render_result_rect_to_ibuf(), and screenshot_exec().
| void IMB_convert_rgba_to_abgr | ( | ImBuf * | ibuf | ) |
Change the ordering of the color bytes pointed to by rect from RGBA to ABGR. size * 4 color bytes are reordered.
Only this one is used liberally here, and in imbuf.
Definition at line 22 of file imageprocess.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, size(), ImBuf::x, and ImBuf::y.
Referenced by imb_loadiris(), and imb_saveiris().
| GPUTexture * IMB_create_gpu_texture | ( | const char * | name, |
| ImBuf * | ibuf, | ||
| bool | use_high_bitdepth, | ||
| bool | use_premult ) |
Definition at line 312 of file util_gpu.cc.
References BLI_assert, DDSData::data, ImBuf::dds_data, ImBuf::ftype, GPU_texture_anisotropic_filter(), GPU_texture_create_2d(), GPU_texture_create_compressed_2d(), GPU_texture_size_with_limit(), GPU_texture_swizzle_set(), GPU_texture_update(), GPU_TEXTURE_USAGE_GENERAL, GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, IMB_FTYPE_DDS, IMB_gpu_get_compressed_format(), imb_gpu_get_data(), imb_gpu_get_format(), imb_gpu_get_swizzle(), int, is_power_of_2_i(), max_ii(), MEM_freeN(), DDSData::nummipmaps, tex, UNPACK2, ImBuf::x, and ImBuf::y.
Referenced by BKE_movieclip_get_gpu_texture(), blender::realtime_compositor::CachedImage::CachedImage(), and image_get_gpu_texture().
Definition at line 625 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBuf::colormanage_cache, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, DDSData::data, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::dds_data, ImBuf::display_buffer_flags, ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::float_buffer, ImBuf::gpu, IB_rect, IB_uninitialized_pixels, imb_addencodedbufferImBuf(), imb_addrectfloatImBuf(), IMB_allocImBuf(), IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::metadata, ImBuf::mipmap, ImBuf::planes, ImBuf::refcounter, ImBufGPU::texture, ImBuf::x, x, ImBuf::y, and y.
Referenced by accessor_get_ibuf(), BKE_image_preview(), BKE_tracking_distortion_exec(), blend_file_thumb_from_camera(), blend_file_thumb_from_screenshot(), brush_copy_data(), do_render_sequencer(), do_render_strip_uncached(), do_speed_effect(), duplicate_render_pass(), duplicate_render_view(), icon_copy_rect(), image_save_single(), IMB_half_x(), IMB_half_y(), IMB_makeSingleUser(), imbuf_ensure_editable(), Freestyle::Canvas::loadMap(), movieclip_build_proxy_ibuf(), blender::bke::node_preview_copy(), postprocess_frame(), py_imbuf_copy(), RE_DuplicateRenderResult(), RE_render_result_rect_to_ibuf(), screen_opengl_render_doit(), seq_proxy_build_frame(), sequencer_calc_scopes(), sequencer_make_scope(), and UI_tooltip_image_field_add().
| void IMB_exit | ( | ) |
Definition at line 26 of file module.cc.
References colormanagement_exit(), imb_filetypes_exit(), imb_mmap_lock_exit(), and imb_refcounter_lock_exit().
Referenced by BKE_blender_free(), blender::bke::image::partial_update::ImagePartialUpdateTest::TearDown(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), wm_main_playanim_intern(), and blender::bke::tests::Context< TestData >::~Context().
| void IMB_ffmpeg_init | ( | ) |
Referenced by main(), and wm_main_playanim_intern().
| const char * IMB_ffmpeg_last_error | ( | ) |
If alpha is zero, it checks surrounding pixels and averages color. sets new alphas to 1.0 When a mask is given, the mask will be used instead of the alpha channel, where only pixels with a mask value of 0 will be written to, and only pixels with a mask value of 1 will be used for the average. The mask will be set to one for the pixels which were written.
Definition at line 319 of file filter.cc.
References ImBuf::byte_buffer, check_pixel_assigned(), ImBufByteBuffer::data, ImBufFloatBuffer::data, filter(), filter_make_index(), FILTER_MASK_MARGIN, float, ImBuf::float_buffer, mask(), MEM_dupallocN, MEM_freeN(), sqrt(), ImBuf::x, x, ImBuf::y, and y.
Referenced by bake_ibuf_filter(), blender::render::texturemargin::generate_margin(), and RE_bake_margin().
| void IMB_filtery | ( | ImBuf * | ibuf | ) |
Definition at line 65 of file filter.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, filtcolum(), filtcolumf(), ImBuf::float_buffer, ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by input_preprocess().
| void IMB_flipx | ( | ImBuf * | ibuf | ) |
Definition at line 165 of file imbuf/intern/rotate.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, x, ImBuf::y, and y.
Referenced by input_preprocess().
| void IMB_flipy | ( | ImBuf * | ibuf | ) |
Definition at line 106 of file imbuf/intern/rotate.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, float, ImBuf::float_buffer, int, MEM_freeN(), MEM_mallocN, top, ImBuf::x, and ImBuf::y.
Referenced by imb_load_dpx_cineon(), imb_load_filepath_thumbnail_openexr(), imb_load_filepath_thumbnail_svg(), input_preprocess(), and UI_svg_icon_bitmap().
| void IMB_float_from_rect | ( | ImBuf * | ibuf | ) |
Definition at line 802 of file divers.cc.
References BLI_rcti_init(), ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IB_TAKE_OWNERSHIP, IMB_assign_float_buffer(), IMB_float_from_rect_ex(), IMB_get_rect_len(), MEM_callocN, ImBuf::x, and ImBuf::y.
Referenced by accessor_get_ibuf(), blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), colorfn(), blender::realtime_compositor::compute_linear_buffer(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::ImageFieldsFunction(), IMB_colormanagement_imbuf_for_write(), blender::compositor::MovieClipBaseOperation::init_execution(), modifier_render_mask_input(), paint_2d_canvas_set(), project_paint_op(), RE_layer_load_from_file(), RE_render_result_rect_to_ibuf(), and studiolight_load_equirect_image().
Definition at line 748 of file divers.cc.
References BLI_assert_msg, BLI_rcti_size_x(), BLI_rcti_size_y(), ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IB_PROFILE_SRGB, IMB_alpha_affects_rgb(), IMB_buffer_float_from_byte(), IMB_colormanagement_colorspace_to_scene_linear(), IMB_premultiply_rect_float(), ImBuf::x, rcti::xmax, rcti::xmin, ImBuf::y, rcti::ymax, and rcti::ymin.
Referenced by IMB_float_from_rect().
| void IMB_free_anim | ( | ImBufAnim * | anim | ) |
Definition at line 60 of file anim_movie.cc.
References IMB_free_indices(), IMB_metadata_free(), MEM_freeN(), ImBufAnim::metadata, and printf.
Referenced by free_buffers(), free_proxy_seq(), image_free_anims(), IMB_close_anim(), openanim(), prefetch_data_fn(), seq_free_strip(), SEQ_relations_sequence_free_anim(), and thumb_create_ex().
| void IMB_free_gpu_textures | ( | ImBuf * | ibuf | ) |
Definition at line 237 of file allocimbuf.cc.
References ImBuf::gpu, GPU_texture_free(), and ImBufGPU::texture.
Referenced by IMB_freeImBuf(), and render_result_free_gpu_texture_caches().
| void IMB_freeImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 46 of file gpu_shader_builder_stubs.cc.
References BLI_assert_msg, BLI_assert_unreachable, BLI_spin_lock(), BLI_spin_unlock(), colormanage_cache_free(), ImBuf::dds_data, ImBuf::filepath, imb_free_dds_buffer(), IMB_free_gpu_textures(), imb_freerectImbuf_all(), IMB_metadata_free(), MEM_freeN(), ImBuf::metadata, ImBuf::refcounter, and refcounter_spin.
Referenced by accessor_get_ibuf(), accessor_release_image_callback(), action_preview_render(), blender::ed::space_node::all_nodes_preview_update(), BKE_image_acquire_multilayer_view_ibuf(), BKE_image_add_generated(), BKE_image_has_ibuf(), BKE_image_memorypack(), BKE_image_pool_free(), BKE_image_reassign_tile(), BKE_image_release_ibuf(), BKE_image_render_write(), 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(), blend_file_thumb_from_camera(), blend_file_thumb_from_screenshot(), 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_from_anim(), build_pict_list_from_image_sequence(), blender::io::usd::cache_image_color(), blender::realtime_compositor::CachedImage::CachedImage(), blender::ed::seq::SeqScopes::cleanup(), blender::seq::ThumbnailCache::clear(), clip_draw_main(), clip_free(), clip_main_region_draw(), colormanage_cache_get(), colormanage_cache_handle_release(), blender::compositor::KeyingScreenOperation::compute_marker_points(), blender::realtime_compositor::compute_marker_points(), blender::compositor::MovieClipNode::convert_to_operations(), blender::compositor::MovieClipBaseOperation::deinit_execution(), detect_clip_source(), detect_features_exec(), blender::ed::sculpt_paint::paint::image::do_push_undo_tile(), do_render_sequencer(), do_render_strip_uncached(), draw_strip_thumbnails(), 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(), blender::compositor::DebugInfo::export_operation(), file_draw_tooltip_custom_func(), filelist_free_icons(), frame_cache_remove(), free_buffers(), GHOST_SystemCocoa::getClipboardImage(), GHOST_SystemWayland::getClipboardImage(), getClipboardImageImBuf(), gpu_texture_update_scaled(), icon_copy_rect(), icon_draw_size(), icon_free_data(), icon_verify_datatoc(), image_clipboard_paste_exec(), image_get_render_result(), image_init_color_management(), image_load_image_file(), image_load_movie_file(), image_memorypack_imbuf(), image_save_single(), image_undosys_step_encode(), IMB_allocImBuf(), IMB_anim_previewframe(), IMB_dupImBuf(), imb_freemipmapImBuf(), imb_gpu_get_data(), IMB_ImBufFromStereo3d(), imb_load_dpx_cineon(), imb_load_openexr(), IMB_makemipmap(), IMB_makeSingleUser(), IMB_remakemipmap(), imb_scale_via_transform(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_load_font(), IMB_thumb_manage(), imbuf_save_post(), input_preprocess(), load_image_single(), blender::imbuf::load_pixels(), metadata_panel_context_draw(), metadata_panel_context_draw(), moviecache_destructor(), moviecache_valfree(), movieclip_build_proxy_ibuf(), movieclip_get_postprocessed_ibuf(), new_image_from_plane_marker_exec(), blender::bke::node_preview_free(), object_preview_render(), openanim(), paint_2d_op(), prefetch_movie_frame(), prefetch_task_func(), project_bucket_init(), proxy_task_func(), ptile_restore_runtime_map(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), GHOST_SystemWayland::putClipboardImage(), putClipboardImagePNG(), py_imbuf_dealloc(), py_imbuf_free(), RE_create_gp_pass(), RE_layer_load_from_file(), RE_render_result_rect_to_ibuf(), RE_WriteRenderViewsMovie(), release_keyframed_image_buffers(), blender::seq::ThumbnailCache::remove_entry(), render_result_free(), render_result_views_free(), sample_plane_marker_image_for_operator(), scale_perf_impl(), screen_opengl_render_doit(), screen_opengl_views_setup(), 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_frames(), seq_prefetch_seq_has_disk_cache(), 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_calc_scopes(), sequencer_draw_preview(), sequencer_make_scope(), sequencer_sample_apply(), blender::ed::space_node::shader_preview_startjob(), studiolight_load_equirect_image(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), blender::imbuf::tests::TEST(), texture_paint_image_from_view_exec(), thumb_create_ex(), thumb_create_or_fail(), blender::seq::thumbnail_cache_maintain_capacity(), track_get_search_floatbuf(), blender::imbuf::tests::transform_2x_smaller(), blender::imbuf::tests::transform_fractional_larger(), ubuf_from_image_all_tiles(), uhandle_restore_list(), ui_but_free(), ui_draw_but_TRACKPREVIEW(), UI_icon_to_preview(), UI_icons_free_drawinfo(), ui_tooltip_data_from_button_or_extra_icon(), ui_tooltip_from_clip(), ui_tooltip_from_image(), ui_tooltip_from_vfont(), ui_tooltip_region_free_cb(), uiTemplateMovieclipInformation(), uiTemplateRecentFiles_tooltip_func(), update_image_from_plane_marker_exec(), wm_file_write(), wm_main_playanim_intern(), blender::ed::object::write_external_bake_pixels(), blender::draw::image_engine::FloatImageBuffer::~FloatImageBuffer(), GHOST_EventDragnDrop::~GHOST_EventDragnDrop(), and blender::ed::space_node::NestedTreePreviews::~NestedTreePreviews().
| void imb_freemipmapImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 174 of file allocimbuf.cc.
References IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::mipmap, and ImBuf::miptot.
Referenced by finish_images(), imb_freerectfloatImBuf(), imb_freerectImBuf(), IMB_makemipmap(), and blender::ed::object::write_internal_bake_pixels().
| void imb_freerectfloatImBuf | ( | ImBuf * | ibuf | ) |
Any free ibuf->rect frees mipmaps to be sure, creation is in render on first request.
Definition at line 190 of file allocimbuf.cc.
References ImBuf::flags, ImBuf::float_buffer, imb_free_buffer(), and imb_freemipmapImBuf().
Referenced by image_save_post(), imb_addrectfloatImBuf(), imb_freerectImbuf_all(), IMB_thumb_manage(), project_paint_end(), RE_render_result_rect_from_ibuf(), scale_with_function(), screen_opengl_render_doit(), thumb_create_ex(), ubuf_ensure_compat_ibuf(), and blender::render::Context::viewer_output_to_viewer_image().
| void imb_freerectImBuf | ( | ImBuf * | ibuf | ) |
Any free ibuf->rect frees mipmaps to be sure, creation is in render on first request.
Definition at line 203 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::flags, imb_free_buffer(), and imb_freemipmapImBuf().
Referenced by BKE_tracking_distortion_exec(), colormanage_imbuf_make_linear(), image_save_post(), IMB_colormanagement_imbuf_for_write(), imb_freerectImbuf_all(), input_preprocess(), blender::seq::make_thumb_for_image(), project_paint_end(), RE_render_result_rect_from_ibuf(), scale_with_function(), seq_imbuf_to_sequencer_space(), seq_render_image_strip_view(), seq_render_movie_strip_view(), blender::render::Context::viewer_output_to_viewer_image(), and WM_clipboard_image_set().
| void imb_freerectImbuf_all | ( | ImBuf * | ibuf | ) |
Free all CPU pixel data (associated with image size).
Definition at line 230 of file allocimbuf.cc.
References freeencodedbufferImBuf(), imb_freerectfloatImBuf(), and imb_freerectImBuf().
Referenced by IMB_freeImBuf(), and ubuf_ensure_compat_ibuf().
| bool IMB_get_gop_decode_time | ( | ImBufAnim * | anim | ) |
| size_t IMB_get_rect_len | ( | const ImBuf * | ibuf | ) |
Get the length of the rect of the given image buffer in terms of pixels.
This is the width * the height of the image buffer. This function is preferred over ibuf->x * ibuf->y due to overflow issues when working with large resolution images (30kx30k).
Definition at line 708 of file allocimbuf.cc.
References ImBuf::x, and ImBuf::y.
Referenced by IMB_color_to_bw(), IMB_float_from_rect(), IMB_saturation(), and multiply_ibuf().
| size_t IMB_get_size_in_memory | ( | ImBuf * | ibuf | ) |
Approximate size of ImBuf in memory
Definition at line 713 of file allocimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, float, ImBuf::float_buffer, IMB_get_size_in_memory(), ImBuf::mipmap, ImBuf::miptot, size(), ImBuf::x, and ImBuf::y.
Referenced by frame_cache_add(), get_size_in_memory(), image_mem_size(), and IMB_get_size_in_memory().
Definition at line 527 of file filter.cc.
References CLAMP, ImBuf::mipmap, and ImBuf::miptot.
| void IMB_gpu_clamp_half_float | ( | ImBuf * | image_buffer | ) |
Ensures that values stored in the float rect can safely loaded into half float gpu textures.
Does nothing when given image_buffer doesn't contain a float rect.
Definition at line 404 of file util_gpu.cc.
References ImBuf::channels, clamp_f(), ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, and ImBuf::y.
| eGPUTextureFormat IMB_gpu_get_texture_format | ( | const ImBuf * | ibuf, |
| bool | high_bitdepth, | ||
| bool | use_grayscale ) |
Definition at line 395 of file util_gpu.cc.
References imb_gpu_get_format().
Referenced by uiTemplateImageInfo().
Definition at line 88 of file scaling.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IMB_allocImBuf(), IMB_dupImBuf(), imb_half_x_no_alloc(), ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by IMB_onehalf().
Definition at line 180 of file scaling.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IMB_allocImBuf(), IMB_dupImBuf(), imb_half_y_no_alloc(), ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by IMB_onehalf().
| ImBuf * IMB_ibImageFromMemory | ( | const unsigned char * | mem, |
| size_t | size, | ||
| int | flags, | ||
| char | colorspace[IM_MAX_SPACE], | ||
| const char * | descr ) |
Definition at line 213 of file gpu_shader_builder_stubs.cc.
References BLI_assert_unreachable, IB_test, IM_MAX_SPACE, IMB_FILE_TYPES, IMB_FILE_TYPES_LAST, imb_handle_alpha(), and STRNCPY.
Referenced by GHOST_SystemWayland::getClipboardImage(), getClipboardImageImBuf(), ibuf_from_picture(), icon_verify_datatoc(), IMB_loadifffile(), load_image_single(), prefetch_task_func(), proxy_task_func(), UI_icon_to_preview(), and wm_block_splash_image().
| void IMB_ImBufFromStereo3d | ( | const Stereo3dFormat * | s3d, |
| ImBuf * | ibuf_stereo3d, | ||
| ImBuf ** | r_ibuf_left, | ||
| ImBuf ** | r_ibuf_right ) |
Reading a stereo encoded ibuf (*left) and generating two ibufs from it (*left and *right).
Definition at line 1282 of file stereoimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, Stereo3dFormat::display_mode, Stereo3dFormat::flag, ImBuf::flags, ImBuf::float_buffer, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_allocImBuf(), IMB_freeImBuf(), imb_stereo3d_data_init(), IMB_stereo3d_read_dimensions(), imb_stereo3d_read_doit(), imb_stereo3d_unsqueeze_ImBuf(), IMB_stereo3d_write_dimensions(), ImBuf::planes, S3D_SQUEEZED_FRAME, ImBuf::x, and ImBuf::y.
Referenced by image_load_image_file(), image_load_movie_file(), seq_render_image_strip(), and seq_render_movie_strip().
| void IMB_init | ( | ) |
Definition at line 18 of file module.cc.
References colormanagement_init(), imb_filetypes_init(), imb_mmap_lock_init(), and imb_refcounter_lock_init().
Referenced by blender::bke::tests::Context< TestData >::Context(), main(), blender::bke::image::partial_update::ImagePartialUpdateTest::SetUp(), BlendfileLoadingBaseTest::SetUpTestCase(), blender::bke::tests::TEST(), blender::bke::tests::TEST(), and wm_main_playanim_intern().
| bool IMB_initImBuf | ( | ImBuf * | ibuf, |
| unsigned int | x, | ||
| unsigned int | y, | ||
| unsigned char | planes, | ||
| unsigned int | flags ) |
Initialize given ImBuf.
Use in cases when temporary image buffer is allocated on stack.
Definition at line 590 of file allocimbuf.cc.
References ImBuf::channels, colormanage_imbuf_set_default_spaces(), ImBuf::foptions, ImBuf::ftype, IB_rect, IB_rectfloat, IB_uninitialized_pixels, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_DPI_DEFAULT, IMB_FTYPE_PNG, ImBuf::planes, ImBuf::ppm, ImbFormatOptions::quality, ImBuf::x, x, ImBuf::y, and y.
Referenced by IMB_allocImBuf(), and paint_2d_do_making_brush().
| bool IMB_isanim | ( | const char * | filepath | ) |
Test if the file is a video file (known format, has a video stream and supported video codec).
Definition at line 302 of file source/blender/imbuf/intern/util.cc.
References BLI_assert, BLI_path_is_rel(), printf, and UTIL_DEBUG.
Referenced by build_pict_list(), ED_path_extension_type(), and wm_main_playanim_intern().
| bool IMB_ispic | ( | const char * | filepath | ) |
Definition at line 169 of file source/blender/imbuf/intern/util.cc.
References IMB_FTYPE_NONE, and IMB_ispic_type().
Referenced by build_pict_list_from_image_sequence(), and wm_main_playanim_intern().
| int IMB_ispic_type | ( | const char * | filepath | ) |
Definition at line 137 of file source/blender/imbuf/intern/util.cc.
References HEADER_SIZE, IMB_FTYPE_NONE, imb_ispic_read_header_from_filepath(), and IMB_ispic_type_from_memory().
Referenced by IMB_ispic(), and IMB_thumb_load_image().
| int IMB_ispic_type_from_memory | ( | const unsigned char * | buf, |
| size_t | buf_size ) |
Definition at line 124 of file source/blender/imbuf/intern/util.cc.
References IMB_FILE_TYPES, IMB_FILE_TYPES_LAST, and IMB_FTYPE_NONE.
Referenced by blender::io::usd::export_packed_texture(), IMB_ispic_type(), and unpack_generate_paths().
| bool IMB_ispic_type_matches | ( | const char * | filepath, |
| int | filetype ) |
Definition at line 147 of file source/blender/imbuf/intern/util.cc.
References BLI_assert, HEADER_SIZE, IMB_file_type_from_ftype(), and imb_ispic_read_header_from_filepath().
Definition at line 118 of file readimage.cc.
References BLI_mmap_free(), BLI_mmap_get_length(), BLI_mmap_get_pointer(), BLI_mmap_open(), IMB_ibImageFromMemory(), imb_mmap_lock(), and imb_mmap_unlock().
Referenced by IMB_loadiffname(), IMB_testiffname(), and imbuf_load_impl().
Definition at line 146 of file readimage.cc.
References BLI_assert, BLI_open(), BLI_path_is_rel(), file, ImBuf::filepath, IMB_loadifffile(), O_BINARY, and STRNCPY.
Referenced by ibuf_from_picture(), icon_preview_imbuf_from_brush(), image_init_color_management(), IMB_thumb_load_image(), IMB_thumb_manage(), IMB_thumb_read(), load_image_single(), Freestyle::Canvas::loadMap(), movieclip_load_sequence_file(), RE_layer_load_from_file(), SEQ_add_image_init_alpha_mode(), SEQ_add_image_strip(), seq_proxy_fetch(), seq_render_image_strip_view(), studiolight_load_equirect_image(), wm_block_splash_image(), and wm_main_playanim_intern().
| void IMB_make_writable_byte_buffer | ( | ImBuf * | ibuf | ) |
Make corresponding buffers available for modification. Is achieved by ensuring that the given ImBuf is the only owner of the underlying buffer data.
Definition at line 456 of file allocimbuf.cc.
References ImBuf::byte_buffer, and imb_make_writeable_buffer().
Referenced by imbuf_ensure_editable().
| void IMB_make_writable_float_buffer | ( | ImBuf * | ibuf | ) |
Definition at line 461 of file allocimbuf.cc.
References ImBuf::float_buffer, and imb_make_writeable_buffer().
Referenced by imbuf_ensure_editable().
Frees too (if there) and recreates new data.
Definition at line 490 of file filter.cc.
References ImBuf::channels, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IMB_allocImBuf(), imb_filterN(), IMB_freeImBuf(), imb_freemipmapImBuf(), IMB_MIPMAP_LEVELS, IMB_onehalf(), ImBuf::miplevel, ImBuf::mipmap, ImBuf::miptot, ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by image_mipmap_test().
Definition at line 285 of file allocimbuf.cc.
References BLI_spin_lock(), BLI_spin_unlock(), IMB_dupImBuf(), IMB_freeImBuf(), IMB_metadata_copy(), ImBuf::refcounter, and refcounter_spin.
Referenced by input_preprocess(), and load_movie_single().
Definition at line 263 of file filter.cc.
References ImBuf::byte_buffer, col, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, x, ImBuf::y, and y.
Definition at line 219 of file filter.cc.
References FILTER_MASK_MARGIN, MEM_dupallocN, MEM_freeN(), x, and y.
Definition at line 314 of file scaling.cc.
References ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IMB_allocImBuf(), IMB_half_x(), IMB_half_y(), imb_onehalf_no_alloc(), ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by IMB_makemipmap().
| ImBufAnim * IMB_open_anim | ( | const char * | filepath, |
| int | ib_flags, | ||
| int | streamindex, | ||
| char | colorspace[IM_MAX_SPACE] ) |
Definition at line 117 of file anim_movie.cc.
References BLI_assert, BLI_path_is_rel(), COLOR_ROLE_DEFAULT_BYTE, ImBufAnim::colorspace, colorspace_set_default_role(), ImBufAnim::filepath, ImBufAnim::ib_flags, IM_MAX_SPACE, MEM_callocN, ImBufAnim::streamindex, and STRNCPY.
Referenced by build_pict_list_from_anim(), IMB_anim_open_proxy(), openanim(), openanim_noload(), thumb_create_ex(), and wm_main_playanim_intern().
| void IMB_premultiply_alpha | ( | ImBuf * | ibuf | ) |
Definition at line 579 of file filter.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_premultiply_rect(), IMB_premultiply_rect_float(), ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by BKE_previewimg_ensure(), imb_handle_alpha(), UI_svg_icon_bitmap(), and wm_block_splash_image().
| 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 * ) |
Threaded processors.
Definition at line 67 of file imageprocess.cc.
References BLI_task_pool_create(), BLI_task_pool_free(), BLI_task_pool_push(), BLI_task_pool_work_and_wait(), handles, MEM_callocN, MEM_freeN(), processor_apply_func(), task_pool, and TASK_PRIORITY_HIGH.
Referenced by display_buffer_apply_threaded(), modifier_apply_threaded(), processor_transform_apply_threaded(), and seq_render_effect_execute_threaded().
| void IMB_processor_apply_threaded_scanlines | ( | int | total_scanlines, |
| ScanlineThreadFunc | do_thread, | ||
| void * | custom_data ) |
Definition at line 127 of file imageprocess.cc.
References BLI_parallel_range_settings_defaults(), BLI_task_parallel_range(), ScanlineGlobalData::do_thread, and processor_apply_parallel().
Referenced by BKE_image_buf_fill_checker(), BKE_image_buf_fill_checker_color(), BKE_image_buf_fill_color(), IMB_buffer_float_from_float_threaded(), imb_partial_display_buffer_update_ex(), and IMB_rectblend_threaded().
In-place image crop.
Definition at line 240 of file rectop.cc.
References BLI_assert, BLI_rcti_size_x(), BLI_rcti_size_y(), ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, rect_crop_16bytes(), rect_crop_4bytes(), ImBuf::x, rcti::xmax, rcti::xmin, ImBuf::y, rcti::ymax, and rcti::ymin.
Referenced by py_imbuf_crop(), and screenshot_exec().
| void IMB_rect_from_float | ( | ImBuf * | ibuf | ) |
Create char buffer, color corrected if necessary, for ImBufs that lack one.
Definition at line 694 of file divers.cc.
References ImBuf::byte_buffer, ImBuf::channels, COLOR_ROLE_DEFAULT_BYTE, COLOR_ROLE_SCENE_LINEAR, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::dither, ImBuf::float_buffer, IB_PROFILE_SRGB, imb_addrectImBuf(), IMB_alpha_affects_rgb(), IMB_buffer_byte_from_float(), IMB_colormanagement_role_colorspace_name_get(), IMB_colormanagement_transform(), IMB_unpremultiply_rect_float(), MEM_dupallocN, MEM_freeN(), ColorSpace::name, ImBuf::userflags, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_preview(), BKE_main_thumbnail_from_imbuf(), ED_view3d_draw_offscreen_imbuf(), icon_copy_rect(), image_flip_exec(), image_invert_exec(), blender::ed::greasepencil::image_render::image_render_end(), IMB_colormanagement_imbuf_for_write(), imb_load_hdr(), imb_load_jp2_stream(), imb_load_openexr(), imb_loadiris(), IMB_rotate_orthogonal(), imb_save_dpx_cineon(), IMB_saveiff(), IMB_thumb_manage(), modifier_render_mask_input(), paint_2d_canvas_set(), prepare_effect_imbufs(), project_paint_op(), blender::ed::space_node::sample_apply(), screen_opengl_render_doit(), sequencer_draw_scopes(), thumb_create_ex(), ui_draw_but_TRACKPREVIEW(), ui_tooltip_from_clip(), and WM_clipboard_image_set().
In-place size setting (caller must fill in buffer contents).
Definition at line 287 of file rectop.cc.
References BLI_assert, ImBuf::byte_buffer, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, rect_realloc_16bytes(), rect_realloc_4bytes(), ImBuf::x, and ImBuf::y.
Referenced by blender::compositor::PreviewOperation::init_execution(), blender::bke::node_preview_verify(), and ubuf_ensure_compat_ibuf().
| void IMB_rectblend | ( | ImBuf * | dbuf, |
| const ImBuf * | obuf, | ||
| const 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 ) |
Definition at line 494 of file rectop.cc.
References blend_color_add_alpha_byte(), blend_color_add_alpha_float(), blend_color_add_byte(), blend_color_add_float(), blend_color_burn_byte(), blend_color_burn_float(), blend_color_color_byte(), blend_color_color_float(), blend_color_darken_byte(), blend_color_darken_float(), blend_color_difference_byte(), blend_color_difference_float(), blend_color_dodge_byte(), blend_color_dodge_float(), blend_color_erase_alpha_byte(), blend_color_erase_alpha_float(), blend_color_exclusion_byte(), blend_color_exclusion_float(), blend_color_hardlight_byte(), blend_color_hardlight_float(), blend_color_hue_byte(), blend_color_hue_float(), blend_color_interpolate_byte(), blend_color_interpolate_float(), blend_color_lighten_byte(), blend_color_lighten_float(), blend_color_linearburn_byte(), blend_color_linearburn_float(), blend_color_linearlight_byte(), blend_color_linearlight_float(), blend_color_luminosity_byte(), blend_color_luminosity_float(), blend_color_mix_byte(), blend_color_mix_float(), blend_color_mul_byte(), blend_color_mul_float(), blend_color_overlay_byte(), blend_color_overlay_float(), blend_color_pinlight_byte(), blend_color_pinlight_float(), blend_color_saturation_byte(), blend_color_saturation_float(), blend_color_screen_byte(), blend_color_screen_float(), blend_color_softlight_byte(), blend_color_softlight_float(), blend_color_sub_byte(), blend_color_sub_float(), blend_color_vividlight_byte(), blend_color_vividlight_float(), ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, divide_round_i(), float, ImBuf::float_buffer, IMB_BLEND_ADD, IMB_BLEND_ADD_ALPHA, IMB_BLEND_COLOR, IMB_BLEND_COLORBURN, IMB_BLEND_COLORDODGE, IMB_BLEND_COPY, IMB_BLEND_COPY_ALPHA, IMB_BLEND_COPY_RGB, IMB_BLEND_DARKEN, IMB_BLEND_DIFFERENCE, IMB_BLEND_ERASE_ALPHA, IMB_BLEND_EXCLUSION, IMB_BLEND_HARDLIGHT, IMB_BLEND_HUE, IMB_BLEND_INTERPOLATE, IMB_BLEND_LIGHTEN, IMB_BLEND_LINEARBURN, IMB_BLEND_LINEARLIGHT, IMB_BLEND_LUMINOSITY, IMB_BLEND_MIX, IMB_BLEND_MUL, IMB_BLEND_OVERLAY, IMB_BLEND_PINLIGHT, IMB_BLEND_SATURATION, IMB_BLEND_SCREEN, IMB_BLEND_SOFTLIGHT, IMB_BLEND_SUB, IMB_BLEND_VIVIDLIGHT, imb_rectclip3(), mask(), min_ff(), mul_v4_v4fl(), ImBuf::x, and x.
Referenced by IMB_rectblend_threaded(), IMB_rectcpy(), paint_2d_do_making_brush(), paint_2d_lift_clone(), paint_2d_lift_smear(), and rectblend_thread_do().
| void IMB_rectblend_threaded | ( | ImBuf * | dbuf, |
| const ImBuf * | obuf, | ||
| const 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 ) |
Definition at line 992 of file rectop.cc.
References data, RectBlendThreadData::dbuf, IMB_processor_apply_threaded_scanlines(), IMB_rectblend(), and rectblend_thread_do().
Referenced by paint_2d_op().
| void IMB_rectclip | ( | ImBuf * | dbuf, |
| const ImBuf * | sbuf, | ||
| int * | destx, | ||
| int * | desty, | ||
| int * | srcx, | ||
| int * | srcy, | ||
| int * | width, | ||
| int * | height ) |
Definition at line 306 of file rectop.cc.
References ImBuf::x, and ImBuf::y.
Referenced by brush_painter_imbuf_partial_update(), brush_painter_mask_imbuf_partial_update(), ED_imapaint_dirty_region(), imapaint_region_tiles(), paint_2d_lift_clone(), paint_2d_lift_soften(), paint_2d_torus_split_region(), and blender::ed::sculpt_paint::paint::image::undo_region_tiles().
| void IMB_rectcpy | ( | ImBuf * | dbuf, |
| const ImBuf * | sbuf, | ||
| int | destx, | ||
| int | desty, | ||
| int | srcx, | ||
| int | srcy, | ||
| int | width, | ||
| int | height ) |
Definition at line 463 of file rectop.cc.
References IMB_BLEND_COPY, and IMB_rectblend().
Referenced by accessor_get_ibuf(), BKE_tracking_get_search_imbuf(), ED_image_paint_tile_push(), ptile_restore_runtime_map(), RE_layer_load_from_file(), utile_init_from_imbuf(), and utile_restore().
Replace pixels of entire image with solid color.
| drect | An image to be filled with color. It must be 4 channel image. |
| col | RGBA color, which is assigned directly to both byte (via scaling) and float buffers. |
Definition at line 1051 of file rectop.cc.
References ImBuf::byte_buffer, col, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, int, ImBuf::x, and ImBuf::y.
Referenced by blender::io::usd::cache_image_color(), blender::ed::object::clear_single_image(), create_missing_media_image(), IMB_font_preview(), IMB_thumb_load_font(), and RE_bake_ibuf_clear().
Definition at line 1259 of file rectop.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, and ImBuf::y.
Referenced by bake_ibuf_filter(), imb_handle_alpha(), RE_bake_margin(), and sequencer_make_scope().
| void IMB_rectfill_area | ( | ImBuf * | ibuf, |
| const float | col[4], | ||
| int | x1, | ||
| int | y1, | ||
| int | x2, | ||
| int | y2, | ||
| 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.
| ibuf | an image to be filled with color. It must be 4 channel image. |
| col | RGBA 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. |
| display | color-space reference for display space. |
Definition at line 1241 of file rectop.cc.
References buf_rectfill_area(), ImBuf::byte_buffer, col, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, and ImBuf::y.
Referenced by ui_tooltip_data_from_button_or_extra_icon().
| void IMB_rectfill_area_replace | ( | const ImBuf * | ibuf, |
| const float | col[4], | ||
| int | x1, | ||
| int | y1, | ||
| int | x2, | ||
| int | y2 ) |
Replace pixels of image area with solid color.
| ibuf | an image to be filled with color. It must be 4 channel image. |
| col | RGBA color, which is assigned directly to both byte (via scaling) and float buffers. |
| 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. |
Definition at line 1083 of file rectop.cc.
References BLI_assert, ImBuf::byte_buffer, ImBuf::channels, CLAMP, col, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, ImBuf::x, x, and ImBuf::y.
| void IMB_refImBuf | ( | ImBuf * | ibuf | ) |
Increase reference count to imbuf (to delete an imbuf you have to call freeImBuf as many times as it is referenced)
Definition at line 278 of file allocimbuf.cc.
References BLI_spin_lock(), BLI_spin_unlock(), ImBuf::refcounter, and refcounter_spin.
Referenced by blender::ed::space_node::all_nodes_preview_update(), BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), do_moviecache_put(), get_postprocessed_cached_frame(), get_stable_cached_frame(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_sequence_multilayer(), IMB_moviecache_get(), blender::ed::space_node::node_preview_acquire_ibuf(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), seq_cache_get_ex(), seq_cache_put_ex(), and blender::seq::thumbnail_cache_get().
Thread-safe version, only recreates existing maps.
Definition at line 454 of file filter.cc.
References ImBuf::flags, IMB_allocImBuf(), imb_filterN(), IMB_freeImBuf(), IMB_MIPMAP_LEVELS, imb_onehalf_no_alloc(), ImBuf::miplevel, ImBuf::mipmap, ImBuf::miptot, ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by image_mipmap_test().
Definition at line 17 of file imbuf/intern/rotate.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ELEM, ImBuf::float_buffer, IMB_rect_from_float(), MEM_dupallocN, MEM_freeN(), ImBuf::x, x, and ImBuf::y.
Referenced by image_rotate_orthogonal_exec().
Definition at line 865 of file divers.cc.
References ImBuf::byte_buffer, channels(), ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, hsv_to_rgb(), IMB_get_rect_len(), ptr, range, rgb_float_to_uchar(), rgb_to_hsv_v(), and rgb_uchar_to_float().
Referenced by input_preprocess().
Definition at line 233 of file gpu_shader_builder_stubs.cc.
References BLI_assert, BLI_assert_unreachable, BLI_path_is_rel(), ImBuf::byte_buffer, COLOR_ROLE_DEFAULT_BYTE, colormanage_colorspace_get_roled(), ImBufByteBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::flags, ImBuf::float_buffer, IM_FTYPE_FLOAT, IMB_file_type_from_ibuf(), and IMB_rect_from_float().
Referenced by BKE_imbuf_write(), blender::io::usd::cache_image_color(), dynamicPaint_outputSurfaceImage(), blender::compositor::DebugInfo::export_operation(), image_memorypack_imbuf(), image_save_sequence_exec(), imbuf_write_impl(), Freestyle::Canvas::loadMap(), movieclip_build_proxy_ibuf(), GHOST_SystemWayland::putClipboardImage(), putClipboardImagePNG(), Freestyle::SteerableViewMap::saveSteerableViewMap(), seq_proxy_build_frame(), and thumb_create_ex().
| bool IMB_scale | ( | ImBuf * | ibuf, |
| unsigned int | newx, | ||
| unsigned int | newy, | ||
| IMBScaleFilter | filter, | ||
| bool | threaded = true ) |
Scale/resize image to new dimensions. Return true if ibuf is modified.
Definition at line 779 of file scaling.cc.
References Bilinear, BLI_assert_msg, BLI_assert_unreachable, Box, imb_scale_box(), Nearest, scale_bilinear_func(), scale_nearest_func(), scale_with_function(), ImBuf::x, and ImBuf::y.
Referenced by accessor_get_ibuf(), BKE_icon_geom_rasterize(), BKE_image_preview(), BKE_image_scale(), BKE_previewimg_ensure(), blend_file_thumb_from_camera(), blend_file_thumb_from_screenshot(), get_undistorted_ibuf(), icon_copy_rect(), icon_verify_datatoc(), image_scale_exec(), imb_gpu_get_data(), imb_scale_bilinear(), imb_scale_bilinear_st(), imb_scale_box(), imb_scale_box_st(), imb_scale_nearest(), imb_scale_nearest_st(), imb_stereo3d_squeeze_ImBuf(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), imb_stereo3d_unsqueeze_ImBuf(), Freestyle::Canvas::loadMap(), movieclip_build_proxy_ibuf(), py_imbuf_resize(), blender::imbuf::tests::scale_2x_smaller(), blender::imbuf::tests::scale_fractional_larger(), blender::imbuf::tests::scale_to_1x1(), blender::seq::scale_to_thumbnail_size(), seq_proxy_build_frame(), thumb_create_ex(), ui_draw_but_IMAGE(), ui_tooltip_from_clip(), update_do_scale(), and wm_block_splash_image().
Steal the buffer data pointer: the ImBuf is no longer an owner of this data.
Definition at line 430 of file allocimbuf.cc.
References ImBuf::byte_buffer, data, ImBuf::flags, and imb_steal_buffer_data().
Referenced by icon_verify_datatoc(), image_undo_steal_and_assign_byte_buffer(), imb_gpu_get_data(), and UI_icon_to_preview().
Definition at line 444 of file allocimbuf.cc.
References data, ImBuf::encoded_buffer, ImBuf::encoded_buffer_size, ImBuf::encoded_size, ImBuf::flags, and imb_steal_buffer_data().
Referenced by image_memorypack_imbuf().
Definition at line 437 of file allocimbuf.cc.
References data, ImBuf::flags, ImBuf::float_buffer, and imb_steal_buffer_data().
Referenced by blender::draw::image_engine::FloatBufferCache::cached_float_buffer(), image_undo_steal_and_assign_float_buffer(), and imb_gpu_get_data().
| int * IMB_stereo3d_from_rect | ( | const ImageFormatData * | im_format, |
| size_t | x, | ||
| size_t | y, | ||
| size_t | channels, | ||
| int * | rect_left, | ||
| int * | rect_right ) |
Definition at line 692 of file stereoimbuf.cc.
References ImageFormatData::depth, Stereo3dFormat::display_mode, imb_stereo3d_data_init(), imb_stereo3d_squeeze_rect(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), MEM_mallocN, and ImageFormatData::stereo3d_format.
| float * IMB_stereo3d_from_rectf | ( | const ImageFormatData * | im_format, |
| size_t | x, | ||
| size_t | y, | ||
| size_t | channels, | ||
| float * | rectf_left, | ||
| float * | rectf_right ) |
Definition at line 725 of file stereoimbuf.cc.
References ImageFormatData::depth, Stereo3dFormat::display_mode, imb_stereo3d_data_init(), imb_stereo3d_squeeze_rectf(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), MEM_mallocN, and ImageFormatData::stereo3d_format.
| ImBuf * IMB_stereo3d_ImBuf | ( | const ImageFormatData * | im_format, |
| ImBuf * | ibuf_left, | ||
| ImBuf * | ibuf_right ) |
Left/right are always float.
Definition at line 759 of file stereoimbuf.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::colorspace, ImBufFloatBuffer::colorspace, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImageFormatData::depth, Stereo3dFormat::display_mode, ImBuf::flags, ImBuf::float_buffer, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_allocImBuf(), imb_stereo3d_data_init(), imb_stereo3d_squeeze_ImBuf(), IMB_stereo3d_write_dimensions(), imb_stereo3d_write_doit(), ImBuf::planes, ImageFormatData::stereo3d_format, ImBuf::x, and ImBuf::y.
Referenced by BKE_image_render_write(), image_save_single(), and RE_WriteRenderViewsMovie().
| 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 at line 529 of file stereoimbuf.cc.
References S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, and S3D_DISPLAY_TOPBOTTOM.
Referenced by IMB_ImBufFromStereo3d().
| 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 at line 501 of file stereoimbuf.cc.
References S3D_DISPLAY_ANAGLYPH, S3D_DISPLAY_INTERLACE, S3D_DISPLAY_SIDEBYSIDE, and S3D_DISPLAY_TOPBOTTOM.
Referenced by BKE_scene_multiview_videos_dimensions_get(), IMB_ImBufFromStereo3d(), IMB_stereo3d_from_rect(), IMB_stereo3d_from_rectf(), IMB_stereo3d_ImBuf(), imb_stereo3d_squeeze_rect(), and imb_stereo3d_squeeze_rectf().
| void IMB_suffix_anim | ( | ImBufAnim * | anim, |
| const char * | suffix ) |
Definition at line 158 of file anim_movie.cc.
References STRNCPY, and ImBufAnim::suffix.
Referenced by open_anim_file_multiview(), and seq_anim_add_suffix().
Definition at line 227 of file readimage.cc.
References BLI_assert, BLI_open(), BLI_path_is_rel(), file, ImBuf::filepath, IB_multilayer, IB_test, IM_MAX_SPACE, IMB_loadifffile(), O_BINARY, and STRNCPY.
Referenced by detect_clip_source().
| ImBuf * IMB_thumb_load_image | ( | const char * | filepath, |
| const size_t | max_thumb_size, | ||
| char | colorspace[IM_MAX_SPACE], | ||
| IMBThumbLoadFlags | load_flags = IMBThumbLoadFlags::Zero ) |
Definition at line 169 of file readimage.cc.
References BLI_file_size(), IB_metadata, IB_rect, IM_MAX_SPACE, IMB_file_type_from_ftype(), imb_handle_alpha(), IMB_ispic_type(), IMB_loadiffname(), IMB_metadata_ensure(), IMB_metadata_set_field(), LoadLargeFiles, ImBuf::metadata, SNPRINTF, STRNCPY, THUMB_SIZE_MAX, ImBuf::x, ImBuf::y, and Zero.
Referenced by blender::seq::make_thumb_for_image(), and thumb_create_ex().
| GPUTexture * IMB_touch_gpu_texture | ( | const char * | name, |
| ImBuf * | ibuf, | ||
| int | w, | ||
| int | h, | ||
| int | layers, | ||
| bool | use_high_bitdepth, | ||
| bool | use_grayscale ) |
The ibuf is only here to detect the storage type. The produced texture will have undefined content. It will need to be populated by using IMB_update_gpu_texture_sub().
Definition at line 255 of file util_gpu.cc.
References GPU_texture_anisotropic_filter(), GPU_texture_create_2d(), GPU_texture_create_2d_array(), GPU_texture_swizzle_set(), GPU_TEXTURE_USAGE_SHADER_READ, imb_gpu_get_format(), imb_gpu_get_swizzle(), tex, and w().
Referenced by gpu_texture_create_tile_array().
| void IMB_transform | ( | const ImBuf * | src, |
| ImBuf * | dst, | ||
| eIMBTransformMode | mode, | ||
| eIMBInterpolationFilterMode | filter, | ||
| const float | transform_matrix[4][4], | ||
| const rctf * | src_crop ) |
Transform source image buffer onto destination image buffer using a transform matrix.
| src | Image buffer to read from. |
| dst | Image buffer to write to. rect or rect_float must already be initialized.
|
| mode | Cropping/Wrap repeat effect to apply during transformation. |
| filter | Interpolation to use during sampling. |
| transform_matrix | Transformation matrix to use. The given matrix should transform between dst pixel space to src pixel space. One unit is one pixel. |
| src_crop | Cropping region how to crop the source buffer. Should only be passed when mode is set to IMB_TRANSFORM_MODE_CROP_SRC. For any other mode this should be empty. |
During transformation no data/color conversion will happens. When transforming between float images the number of channels of the source buffer may be between 1 and 4. When source buffer has one channel the data will be read as a gray scale value.
Definition at line 466 of file imbuf/intern/transform.cc.
References BLI_assert_msg, ImBuf::channels, blender::imbuf::transform::TransformContext::dst, blender::imbuf::transform::TransformContext::dst_region_y_range, IMB_FILTER_BILINEAR, IMB_FILTER_BOX, IMB_FILTER_CUBIC_BSPLINE, IMB_FILTER_CUBIC_MITCHELL, IMB_TRANSFORM_MODE_CROP_SRC, blender::imbuf::transform::TransformContext::init(), blender::imbuf::transform::TransformContext::mode, blender::threading::parallel_for(), blender::imbuf::transform::TransformContext::src, blender::imbuf::transform::TransformContext::src_crop, and blender::imbuf::transform::transform_scanlines_filter().
Referenced by imb_scale_via_transform(), sequencer_preprocess_transform_crop(), blender::imbuf::tests::TEST(), blender::imbuf::tests::transform_2x_smaller(), and blender::imbuf::tests::transform_fractional_larger().
| void IMB_unpremultiply_alpha | ( | ImBuf * | ibuf | ) |
Definition at line 641 of file filter.cc.
References ImBuf::byte_buffer, ImBuf::channels, ImBufByteBuffer::data, ImBufFloatBuffer::data, ImBuf::float_buffer, IMB_unpremultiply_rect(), IMB_unpremultiply_rect_float(), ImBuf::planes, ImBuf::x, and ImBuf::y.
Referenced by imb_handle_alpha().
| void IMB_update_gpu_texture_sub | ( | GPUTexture * | tex, |
| ImBuf * | ibuf, | ||
| int | x, | ||
| int | y, | ||
| int | z, | ||
| int | w, | ||
| int | h, | ||
| bool | use_high_bitdepth, | ||
| bool | use_grayscale, | ||
| bool | use_premult ) |
Will update a #GPUTexture using the content of the ImBuf. Only one layer will be updated. Will resize the ibuf if needed. Z is the layer to update. Unused if the texture is 2D.
Definition at line 281 of file util_gpu.cc.
References GPU_texture_update_sub(), imb_gpu_get_data(), imb_gpu_get_format(), MEM_freeN(), tex, w(), ImBuf::x, ImBuf::y, and z().
Referenced by gpu_texture_create_tile_array().
Return the encoded start offset (in seconds) of the given anim.
Definition at line 1324 of file anim_movie.cc.
References ImBufAnim::start_offset.
Referenced by SEQ_add_movie_strip().