|
Blender
V2.93
|
#include <stddef.h>#include "IMB_imbuf.h"#include "IMB_imbuf_types.h"#include "IMB_allocimbuf.h"#include "IMB_colormanagement_intern.h"#include "IMB_filetype.h"#include "IMB_metadata.h"#include "imbuf.h"#include "MEM_guardedalloc.h"#include "BLI_threads.h"#include "BLI_utildefines.h"Go to the source code of this file.
Functions | |
| void | imb_refcounter_lock_init (void) |
| void | imb_refcounter_lock_exit (void) |
| void | imb_mmap_lock_init (void) |
| void | imb_mmap_lock_exit (void) |
| void | imb_mmap_lock (void) |
| void | imb_mmap_unlock (void) |
| void | imb_freemipmapImBuf (ImBuf *ibuf) |
| void | imb_freerectfloatImBuf (ImBuf *ibuf) |
| void | imb_freerectImBuf (ImBuf *ibuf) |
| void | imb_freetilesImBuf (ImBuf *ibuf) |
| static void | freeencodedbufferImBuf (ImBuf *ibuf) |
| void | IMB_freezbufImBuf (ImBuf *ibuf) |
| void | IMB_freezbuffloatImBuf (ImBuf *ibuf) |
| void | imb_freerectImbuf_all (ImBuf *ibuf) |
| void | IMB_freeImBuf (ImBuf *ibuf) |
| void | IMB_refImBuf (ImBuf *ibuf) |
| ImBuf * | IMB_makeSingleUser (ImBuf *ibuf) |
| bool | addzbufImBuf (ImBuf *ibuf) |
| bool | addzbuffloatImBuf (ImBuf *ibuf) |
| bool | imb_addencodedbufferImBuf (ImBuf *ibuf) |
| bool | imb_enlargeencodedbufferImBuf (ImBuf *ibuf) |
| void * | imb_alloc_pixels (unsigned int x, unsigned int y, unsigned int channels, size_t typesize, const char *name) |
| bool | imb_addrectfloatImBuf (ImBuf *ibuf) |
| bool | imb_addrectImBuf (ImBuf *ibuf) |
| struct ImBuf * | IMB_allocFromBuffer (const unsigned int *rect, const float *rectf, unsigned int w, unsigned int h, unsigned int channels) |
| bool | imb_addtilesImBuf (ImBuf *ibuf) |
| ImBuf * | IMB_allocImBuf (unsigned int x, unsigned int y, uchar planes, unsigned int flags) |
| bool | IMB_initImBuf (struct ImBuf *ibuf, unsigned int x, unsigned int y, unsigned char planes, unsigned int flags) |
| ImBuf * | IMB_dupImBuf (const ImBuf *ibuf1) |
| size_t | IMB_get_size_in_memory (ImBuf *ibuf) |
Variables | |
| static SpinLock | refcounter_spin |
| static SpinLock | mmap_spin |
| bool addzbuffloatImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 289 of file allocimbuf.c.
References ImBuf::flags, IB_zbuffloat, imb_alloc_pixels(), IMB_freezbuffloatImBuf(), ImBuf::mall, NULL, ImBuf::x, ImBuf::y, and ImBuf::zbuf_float.
Referenced by IMB_ImBufFromStereo3d(), IMB_initImBuf(), imb_load_openexr(), and seq_render_scene_strip().
| bool addzbufImBuf | ( | struct ImBuf * | ibuf | ) |
Definition at line 272 of file allocimbuf.c.
References ImBuf::flags, IB_zbuf, imb_alloc_pixels(), IMB_freezbufImBuf(), ImBuf::mall, NULL, ImBuf::x, ImBuf::y, and ImBuf::zbuf.
Referenced by imb_addrectImBuf(), IMB_ImBufFromStereo3d(), and IMB_initImBuf().
|
static |
Definition at line 156 of file allocimbuf.c.
References ImBuf::encodedbuffer, ImBuf::encodedbuffersize, ImBuf::encodedsize, IB_mem, ImBuf::mall, MEM_freeN, and NULL.
Referenced by imb_addencodedbufferImBuf(), imb_enlargeencodedbufferImBuf(), and imb_freerectImbuf_all().
| bool imb_addencodedbufferImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 306 of file allocimbuf.c.
References ImBuf::encodedbuffer, ImBuf::encodedbuffersize, ImBuf::encodedsize, ImBuf::flags, freeencodedbufferImBuf(), IB_mem, ImBuf::mall, MEM_mallocN, and NULL.
Referenced by IMB_dupImBuf(), imb_save_openexr(), imb_save_photoshop(), and imb_savepng().
| bool imb_addrectfloatImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 386 of file allocimbuf.c.
References ImBuf::channels, ImBuf::flags, IB_rectfloat, imb_alloc_pixels(), imb_freerectfloatImBuf(), ImBuf::mall, NULL, ImBuf::rect_float, ImBuf::x, and ImBuf::y.
Referenced by IMB_initImBuf(), imb_load_openexr(), imb_loadpng(), modifier_color_balance_apply(), seq_imbuf_to_sequencer_space(), and ubuf_ensure_compat_ibuf().
| bool imb_addrectImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 407 of file allocimbuf.c.
References addzbufImBuf(), ImBuf::flags, IB_rect, imb_alloc_pixels(), ImBuf::mall, MEM_freeN, NULL, ImBuf::planes, ImBuf::rect, ImBuf::x, and ImBuf::y.
Referenced by colormanagement_imbuf_make_display_space(), IMB_initImBuf(), imb_load_dds(), imb_loadpng(), imb_onehalf_no_alloc(), IMB_rect_from_float(), and ubuf_ensure_compat_ibuf().
| bool imb_addtilesImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 462 of file allocimbuf.c.
References IB_tiles, ImBuf::mall, MEM_callocN, NULL, ImBuf::tiles, ImBuf::xtiles, and ImBuf::ytiles.
Referenced by imb_loadtiff().
| void* imb_alloc_pixels | ( | unsigned int | x, |
| unsigned int | y, | ||
| unsigned int | channels, | ||
| size_t | typesize, | ||
| const char * | name | ||
| ) |
Definition at line 373 of file allocimbuf.c.
References MEM_callocN, NULL, size(), SIZE_MAX, x, and y.
Referenced by addzbuffloatImBuf(), addzbufImBuf(), avi_converter_from_avi_rgb(), avi_converter_from_mjpeg(), avi_converter_from_rgb32(), avi_converter_to_mjpeg(), avi_converter_to_rgb32(), convertRGBAToLogElement(), imb_addrectfloatImBuf(), imb_addrectImBuf(), imb_loadpng(), logImageGetDataRGBA(), and logImageSetDataRGBA().
| struct ImBuf* IMB_allocFromBuffer | ( | const unsigned int * | rect, |
| const float * | rectf, | ||
| 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 433 of file allocimbuf.c.
References ImBuf::channels, ImBuf::flags, IB_rect, IB_rectfloat, IMB_allocImBuf(), ImBuf::mall, MEM_dupallocN, NULL, ImBuf::rect, ImBuf::rect_float, and w().
Referenced by imb_gpu_get_data(), studiolight_calculate_irradiance_equirect_image(), studiolight_calculate_radiance_cubemap_buffers(), studiolight_load_equirect_image(), and update_do_scale().
| ImBuf* IMB_allocImBuf | ( | unsigned int | x, |
| unsigned int | y, | ||
| unsigned char | planes, | ||
| unsigned int | flags | ||
| ) |
Definition at line 478 of file allocimbuf.c.
References ImBuf::flags, IMB_freeImBuf(), IMB_initImBuf(), MEM_mallocN, NULL, ImBuf::planes, x, and y.
Referenced by accessor_get_ibuf(), add_ibuf_size(), anim_getnew(), BKE_main_thumbnail_to_imbuf(), BKE_previewimg_to_imbuf(), BKE_tracking_get_search_imbuf(), BKE_tracking_sample_pattern(), BKE_tracking_stabilize_frame(), brush_painter_imbuf_new(), brush_painter_imbuf_partial_update(), colormanage_cache_put(), blender::compositor::OutputStereoOperation::deinitExecution(), blender::compositor::OutputSingleLayerOperation::deinitExecution(), dynamicPaint_outputSurfaceImage(), ED_view3d_draw_offscreen_imbuf(), filelist_init_icons(), float_image_to_ibuf(), gpencil_render_offscreen(), GHOST_SystemCocoa::handleDraggingEvent(), ibJpegImageFromCinfo(), icon_draw_rect(), image_acquire_ibuf(), image_get_ibuf_multilayer(), image_get_render_result(), image_load_sequence_multilayer(), IMB_allocFromBuffer(), imb_bmp_decode(), IMB_double_fast_x(), IMB_double_fast_y(), IMB_dupImBuf(), IMB_half_x(), IMB_half_y(), IMB_ImBufFromStereo3d(), imb_load_dds(), imb_load_dpx_cineon(), imb_load_jp2_stream(), imb_load_openexr(), imb_loadhdr(), imb_loadiris(), imb_loadpng(), imb_loadtarga(), imb_loadtiff(), IMB_makemipmap(), imb_oiio_load_image(), imb_oiio_load_image_float(), IMB_onehalf(), imb_read_tiff_pixels(), IMB_remakemipmap(), IMB_stereo3d_ImBuf(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_load_font(), imbuf_alloc_temp_tile(), input_preprocess(), Freestyle::Canvas::loadMap(), M_imbuf_new(), make_grayscale_ibuf_copy(), make_histogram_view_from_ibuf_byte(), make_histogram_view_from_ibuf_float(), make_sep_waveform_view_from_ibuf_byte(), make_sep_waveform_view_from_ibuf_float(), make_vectorscope_view_from_ibuf_byte(), make_vectorscope_view_from_ibuf_float(), make_waveform_view_from_ibuf_byte(), make_waveform_view_from_ibuf_float(), make_zebra_view_from_ibuf(), paint_2d_lift_clone(), prepare_effect_imbufs(), RE_layer_load_from_file(), render_result_rect_to_ibuf(), Freestyle::SteerableViewMap::saveSteerableViewMap(), screen_opengl_render_doit(), screenshot_exec(), seq_disk_cache_read_file(), seq_render_effect_strip_impl(), seq_render_mask(), seq_render_scene_strip(), seq_render_strip(), seq_render_strip_stack(), thumb_create_ex(), and write_external_bake_pixels().
Definition at line 541 of file allocimbuf.c.
References Freestyle::a, ImBuf::c_handle, ImBuf::channels, ImBuf::colormanage_cache, DDSData::data, ImBuf::dds_data, ImBuf::display_buffer_flags, ImBuf::encodedbuffer, ImBuf::encodedbuffersize, ImBuf::encodedsize, ImBuf::flags, IB_rect, IB_rectfloat, IB_zbuf, IB_zbuffloat, imb_addencodedbufferImBuf(), IMB_allocImBuf(), IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::mall, ImBuf::metadata, ImBuf::mipmap, NULL, ImBuf::planes, ImBuf::rect, ImBuf::rect_float, ImBuf::refcounter, x, ImBuf::x, y, ImBuf::y, ImBuf::zbuf, and ImBuf::zbuf_float.
Referenced by IMB_makeSingleUser().
| bool imb_enlargeencodedbufferImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 329 of file allocimbuf.c.
References ImBuf::encodedbuffer, ImBuf::encodedbuffersize, ImBuf::encodedsize, ImBuf::flags, freeencodedbufferImBuf(), IB_mem, ImBuf::mall, MEM_mallocN, and NULL.
Referenced by WriteData().
| void IMB_freeImBuf | ( | struct ImBuf * | ibuf | ) |
Definition at line 211 of file allocimbuf.c.
References BLI_spin_lock(), BLI_spin_unlock(), colormanage_cache_free(), DDSData::data, ImBuf::dds_data, free(), imb_freerectImbuf_all(), IMB_metadata_free(), MEM_freeN, ImBuf::metadata, NULL, ImBuf::refcounter, and refcounter_spin.
Referenced by accessor_get_ibuf(), accessor_release_image_callback(), action_preview_render(), BKE_image_add_generated(), BKE_image_has_ibuf(), BKE_image_memorypack(), BKE_image_pool_free(), BKE_image_release_ibuf(), BKE_image_signal(), BKE_movieclip_build_proxy_frame(), BKE_movieclip_build_proxy_frame_for_ibuf(), BKE_movieclip_get_gpu_texture(), BKE_movieclip_get_size(), BKE_movieclip_get_stable_ibuf(), BKE_movieclip_has_frame(), BKE_movieclip_update_scopes(), BKE_previewimg_ensure(), BKE_tracking_get_pattern_imbuf(), BKE_tracking_refine_marker(), brush_free_data(), brush_painter_2d_refresh_cache(), brush_painter_2d_require_imbuf(), brush_painter_cache_2d_free(), brush_painter_imbuf_partial_update(), build_pict_list_ex(), blender::compositor::KeyingScreenOperation::buildVoronoiTriangulation(), clip_draw_main(), clip_free(), clip_main_region_draw(), colormanage_cache_get(), colormanage_cache_handle_release(), blender::compositor::MovieClipNode::convertToOperations(), blender::compositor::MovieClipBaseOperation::deinitExecution(), blender::compositor::OutputStereoOperation::deinitExecution(), blender::compositor::OutputSingleLayerOperation::deinitExecution(), detect_clip_source(), detect_features_exec(), do_gaussian_blur_effect(), do_render_sequencer(), do_render_strip_uncached(), dynamicPaint_outputSurfaceImage(), ED_imapaint_dirty_region(), ED_space_clip_color_sample(), ED_space_clip_get_buffer(), ED_space_clip_get_position(), ED_space_clip_get_stable_buffer(), filelist_free_icons(), filelist_init_icons(), frame_cache_remove(), free_buffers(), gpu_texture_update_scaled(), icon_copy_rect(), icon_draw_rect(), icon_draw_size(), icon_free_data(), icon_preview_startjob(), icon_verify_datatoc(), image_init_color_management(), image_load_image_file(), image_load_movie_file(), image_load_sequence_file(), image_memorypack_imbuf(), image_save_single(), image_undosys_step_encode(), IMB_allocImBuf(), IMB_anim_absolute(), IMB_anim_previewframe(), IMB_dupImBuf(), imb_freemipmapImBuf(), imb_gpu_get_data(), IMB_ImBufFromStereo3d(), imb_load_dpx_cineon(), imb_load_openexr(), imb_load_photoshop(), imb_loadpng(), IMB_makemipmap(), IMB_makeSingleUser(), IMB_moviecache_destructor(), imb_oiio_load_image(), imb_oiio_load_image_float(), imb_read_tiff_pixels(), IMB_remakemipmap(), imb_stereo3d_squeeze_rect(), imb_stereo3d_squeeze_rectf(), IMB_thumb_manage(), imbuf_save_post(), init_iconfile_list(), init_internal_icons(), input_preprocess(), load_image_single(), load_sequence_single(), metadata_panel_context_draw(), moviecache_valfree(), movieclip_build_proxy_ibuf(), movieclip_get_postprocessed_ibuf(), object_preview_render(), openanim(), paint_2d_op(), prefetch_movie_frame(), prefetch_task_func(), project_bucket_init(), proxy_task_func(), ptile_restore_runtime_list(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), py_imbuf_dealloc(), py_imbuf_free(), RE_layer_load_from_file(), RE_WriteRenderViewsImage(), RE_WriteRenderViewsMovie(), render_result_rect_to_ibuf(), screen_opengl_render_doit(), screenshot_exec(), SEQ_add_image_init_alpha_mode(), SEQ_add_image_strip(), seq_cache_put(), seq_cache_valfree(), seq_disk_cache_read_file(), SEQ_modifier_apply_stack(), seq_prefetch_do_skip_frame(), seq_prefetch_frames(), seq_proxy_build_frame(), seq_render_effect_strip_impl(), seq_render_image_strip(), seq_render_movie_strip(), seq_render_scene_strip(), seq_render_strip_stack(), sequencer_check_scopes(), sequencer_draw_preview(), sequencer_free(), sequencer_get_scope(), sequencer_make_scope(), sequencer_sample_apply(), studiolight_load_equirect_image(), texture_paint_image_from_view_exec(), thumb_create_ex(), thumb_create_or_fail(), track_get_search_floatbuf(), ubuf_from_image_all_tiles(), uhandle_restore_list(), ui_but_free(), UI_icon_to_preview(), UI_icons_free_drawinfo(), UI_icons_reload_internal_textures(), uiTemplateMovieclipInformation(), wm_file_write(), wm_main_playanim_intern(), write_external_bake_pixels(), and GHOST_EventDragnDrop::~GHOST_EventDragnDrop().
| void imb_freemipmapImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 80 of file allocimbuf.c.
References Freestyle::a, IMB_freeImBuf(), IMB_MIPMAP_LEVELS, ImBuf::mipmap, ImBuf::miptot, and NULL.
Referenced by finish_images(), imb_freerectfloatImBuf(), imb_freerectImBuf(), IMB_makemipmap(), and write_internal_bake_pixels().
| void imb_freerectfloatImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 97 of file allocimbuf.c.
References IB_rectfloat, imb_freemipmapImBuf(), ImBuf::mall, MEM_freeN, NULL, and ImBuf::rect_float.
Referenced by image_save_post(), imb_addrectfloatImBuf(), imb_freerectImbuf_all(), IMB_scalefastImBuf(), IMB_scaleImBuf_threaded(), IMB_thumb_manage(), project_paint_end(), q_scale_linear_interpolation(), scaledownx(), scaledowny(), scaleupx(), scaleupy(), screen_opengl_render_doit(), thumb_create_ex(), and ubuf_ensure_compat_ibuf().
| void imb_freerectImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 115 of file allocimbuf.c.
References IB_rect, imb_freemipmapImBuf(), ImBuf::mall, MEM_freeN, NULL, and ImBuf::rect.
Referenced by BKE_tracking_distortion_exec(), colormanage_imbuf_make_linear(), image_get_render_result(), image_save_post(), imb_freerectImbuf_all(), IMB_scalefastImBuf(), IMB_scaleImBuf_threaded(), input_preprocess(), modifier_color_balance_apply(), project_paint_end(), q_scale_linear_interpolation(), scaledownx(), scaledowny(), scaleupx(), scaleupy(), seq_imbuf_to_sequencer_space(), seq_render_image_strip_view(), and seq_render_movie_strip_view().
| void imb_freerectImbuf_all | ( | ImBuf * | ibuf | ) |
Free all pixel data (associated with image size).
Definition at line 201 of file allocimbuf.c.
References freeencodedbufferImBuf(), imb_freerectfloatImBuf(), imb_freerectImBuf(), imb_freetilesImBuf(), IMB_freezbuffloatImBuf(), and IMB_freezbufImBuf().
Referenced by IMB_freeImBuf(), and ubuf_ensure_compat_ibuf().
| void imb_freetilesImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 131 of file allocimbuf.c.
References IB_tiles, imb_tile_cache_tile_free(), ImBuf::mall, MEM_freeN, NULL, ImBuf::tiles, ImBuf::xtiles, and ImBuf::ytiles.
Referenced by imb_freerectImbuf_all().
| void IMB_freezbuffloatImBuf | ( | ImBuf * | ibuf | ) |
Definition at line 186 of file allocimbuf.c.
References IB_zbuffloat, ImBuf::mall, MEM_freeN, NULL, and ImBuf::zbuf_float.
Referenced by addzbuffloatImBuf(), BKE_imbuf_write_prepare(), image_save_post(), imb_freerectImbuf_all(), and scalefast_Z_ImBuf().
| void IMB_freezbufImBuf | ( | struct ImBuf * | ibuf | ) |
Definition at line 172 of file allocimbuf.c.
References IB_zbuf, ImBuf::mall, MEM_freeN, NULL, and ImBuf::zbuf.
Referenced by addzbufImBuf(), image_save_post(), imb_freerectImbuf_all(), and scalefast_Z_ImBuf().
| size_t IMB_get_size_in_memory | ( | struct ImBuf * | ibuf | ) |
Approximate size of ImBuf in memory
Definition at line 629 of file allocimbuf.c.
References Freestyle::a, ImBuf::channels, float(), IMB_get_size_in_memory(), ImBuf::mipmap, ImBuf::miptot, ImBuf::rect, ImBuf::rect_float, size(), ImBuf::tiles, ImBuf::x, ImBuf::xtiles, ImBuf::y, and ImBuf::ytiles.
Referenced by frame_cache_add(), get_size_in_memory(), and IMB_get_size_in_memory().
| bool IMB_initImBuf | ( | struct 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 494 of file allocimbuf.c.
References addzbuffloatImBuf(), addzbufImBuf(), ImBuf::channels, colormanage_imbuf_set_default_spaces(), ImBuf::flags, ImBuf::foptions, ImBuf::ftype, IB_rect, IB_rectfloat, IB_zbuf, IB_zbuffloat, imb_addrectfloatImBuf(), imb_addrectImBuf(), IMB_DPI_DEFAULT, IMB_FTYPE_PNG, ImBuf::planes, ImBuf::ppm, ImbFormatOptions::quality, x, ImBuf::x, y, and ImBuf::y.
Referenced by IMB_allocImBuf(), and paint_2d_do_making_brush().
Definition at line 246 of file allocimbuf.c.
References BLI_spin_lock(), BLI_spin_unlock(), IMB_dupImBuf(), IMB_freeImBuf(), IMB_metadata_copy(), NULL, ImBuf::refcounter, and refcounter_spin.
Referenced by input_preprocess(), and load_movie_single().
| void imb_mmap_lock | ( | void | ) |
Definition at line 69 of file allocimbuf.c.
References BLI_spin_lock(), and mmap_spin.
Referenced by IMB_loadifffile(), and imb_loadtilefile().
| void imb_mmap_lock_exit | ( | void | ) |
Definition at line 64 of file allocimbuf.c.
References BLI_spin_end(), and mmap_spin.
Referenced by IMB_exit().
| void imb_mmap_lock_init | ( | void | ) |
Definition at line 59 of file allocimbuf.c.
References BLI_spin_init(), and mmap_spin.
Referenced by IMB_init().
| void imb_mmap_unlock | ( | void | ) |
Definition at line 74 of file allocimbuf.c.
References BLI_spin_unlock(), and mmap_spin.
Referenced by IMB_loadifffile(), and imb_loadtilefile().
| void imb_refcounter_lock_exit | ( | void | ) |
Definition at line 51 of file allocimbuf.c.
References BLI_spin_end(), and refcounter_spin.
Referenced by IMB_exit().
| void imb_refcounter_lock_init | ( | void | ) |
Definition at line 46 of file allocimbuf.c.
References BLI_spin_init(), and refcounter_spin.
Referenced by IMB_init().
| void IMB_refImBuf | ( | struct 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 239 of file allocimbuf.c.
References BLI_spin_lock(), BLI_spin_unlock(), ImBuf::refcounter, and refcounter_spin.
Referenced by BKE_image_get_first_ibuf(), BKE_image_get_ibuf_with_name(), do_moviecache_put(), get_postprocessed_cached_frame(), get_stable_cached_frame(), IMB_moviecache_get(), put_postprocessed_frame_to_cache(), put_stabilized_frame_to_cache(), seq_cache_get_ex(), and seq_cache_put_ex().
|
static |
Definition at line 57 of file allocimbuf.c.
Referenced by imb_mmap_lock(), imb_mmap_lock_exit(), imb_mmap_lock_init(), and imb_mmap_unlock().
|
static |
Definition at line 44 of file allocimbuf.c.
Referenced by IMB_freeImBuf(), IMB_makeSingleUser(), imb_refcounter_lock_exit(), imb_refcounter_lock_init(), and IMB_refImBuf().