[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [49668] branches/soc-2011-tomato/source/ blender/imbuf/intern/colormanagement.c: Code cleanup: use generic threaded image buffer processor for color management
Sergey Sharybin
sergey.vfx at gmail.com
Tue Aug 7 18:55:15 CEST 2012
Revision: 49668
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=49668
Author: nazgul
Date: 2012-08-07 16:55:15 +0000 (Tue, 07 Aug 2012)
Log Message:
-----------
Code cleanup: use generic threaded image buffer processor for color management
Modified Paths:
--------------
branches/soc-2011-tomato/source/blender/imbuf/intern/colormanagement.c
Modified: branches/soc-2011-tomato/source/blender/imbuf/intern/colormanagement.c
===================================================================
--- branches/soc-2011-tomato/source/blender/imbuf/intern/colormanagement.c 2012-08-07 16:48:43 UTC (rev 49667)
+++ branches/soc-2011-tomato/source/blender/imbuf/intern/colormanagement.c 2012-08-07 16:55:15 UTC (rev 49668)
@@ -588,50 +588,6 @@
/*********************** Threaded display buffer transform routines *************************/
#ifdef WITH_OCIO
-static void colormanage_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 *handles;
- ListBase threads;
-
- int i, tot_thread = BLI_system_thread_count();
- int start_line, tot_line;
-
- handles = MEM_callocN(handle_size * tot_thread, "processor apply threaded handles");
-
- if (tot_thread > 1)
- BLI_init_threads(&threads, do_thread, tot_thread);
-
- start_line = 0;
- tot_line = ((float)(buffer_lines / tot_thread)) + 0.5f;
-
- for (i = 0; i < tot_thread; i++) {
- int cur_tot_line;
- void *handle = ((char *) handles) + handle_size * i;
-
- if (i < tot_thread - 1)
- cur_tot_line = tot_line;
- else
- cur_tot_line = buffer_lines - start_line;
-
- init_handle(handle, start_line, cur_tot_line, init_customdata);
-
- if (tot_thread > 1)
- BLI_insert_thread(&threads, handle);
-
- start_line += tot_line;
- }
-
- if (tot_thread > 1)
- BLI_end_threads(&threads);
- else
- do_thread(handles);
-
- MEM_freeN(handles);
-}
-
typedef struct DisplayBufferThread {
void *processor;
@@ -707,8 +663,8 @@
init_data.byte_buffer = byte_buffer;
init_data.display_buffer = display_buffer;
- colormanage_processor_apply_threaded(ibuf->y, sizeof(DisplayBufferThread), &init_data,
- display_buffer_init_handle, do_thread);
+ IMB_processor_apply_threaded(ibuf->y, sizeof(DisplayBufferThread), &init_data,
+ display_buffer_init_handle, do_thread);
}
static void *display_buffer_apply_get_linear_buffer(DisplayBufferThread *handle)
@@ -974,8 +930,8 @@
init_data.height = height;
init_data.channels = channels;
- colormanage_processor_apply_threaded(height, sizeof(ColorspaceTransformThread), &init_data,
- colorspace_transform_init_handle, do_thread);
+ IMB_processor_apply_threaded(height, sizeof(ColorspaceTransformThread), &init_data,
+ colorspace_transform_init_handle, do_thread);
}
static void *do_color_space_transform_thread(void *handle_v)
More information about the Bf-blender-cvs
mailing list