|
Blender V4.3
|
#include <cmath>#include <cstdlib>#include "MEM_guardedalloc.h"#include "BLI_task.h"#include "BLI_utildefines.h"#include "IMB_colormanagement.hh"#include "IMB_imbuf.hh"#include "IMB_imbuf_types.hh"Go to the source code of this file.
Classes | |
| struct | ScanlineGlobalData |
Functions | |
| void | IMB_convert_rgba_to_abgr (ImBuf *ibuf) |
Threaded Image Processing | |
| static void | processor_apply_func (TaskPool *__restrict pool, void *taskdata) |
| 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 *)) |
| static void | processor_apply_parallel (void *__restrict userdata, const int scanline, const TaskParallelTLS *__restrict) |
| void | IMB_processor_apply_threaded_scanlines (int total_scanlines, ScanlineThreadFunc do_thread, void *custom_data) |
Alpha-under | |
| void | IMB_alpha_under_color_float (float *rect_float, int x, int y, float backcol[3]) |
| void | IMB_alpha_under_color_byte (uchar *rect, int x, int y, const float backcol[3]) |
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().
| 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().
| 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().
|
static |
Definition at line 61 of file imageprocess.cc.
References BLI_task_pool_user_data().
Referenced by IMB_processor_apply_threaded().
|
static |
Definition at line 119 of file imageprocess.cc.
References ScanlineGlobalData::do_thread.
Referenced by IMB_processor_apply_threaded_scanlines().