diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-02-07 18:59:17 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-02-07 19:49:54 +0300 |
commit | 5d6177111daa5680cd8341714b20fe822f50cc98 (patch) | |
tree | 26c537924029803b5c35bad9aebee915dcc509ad /source/blender/imbuf/IMB_colormanagement.h | |
parent | 03be3102c7b2322c14d7b2bf61c6c2183e3ade3a (diff) |
Color management: Implement threaded byte buffer conversion
The title says it all actually: now we can convert byte buffer
directly, without need of temporary float buffer.
Diffstat (limited to 'source/blender/imbuf/IMB_colormanagement.h')
-rw-r--r-- | source/blender/imbuf/IMB_colormanagement.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/imbuf/IMB_colormanagement.h b/source/blender/imbuf/IMB_colormanagement.h index 52febe642a0..d9f45b93b2c 100644 --- a/source/blender/imbuf/IMB_colormanagement.h +++ b/source/blender/imbuf/IMB_colormanagement.h @@ -77,6 +77,10 @@ void IMB_colormanagement_transform(float *buffer, int width, int height, int cha const char *from_colorspace, const char *to_colorspace, bool predivide); void IMB_colormanagement_transform_threaded(float *buffer, int width, int height, int channels, const char *from_colorspace, const char *to_colorspace, bool predivide); +void IMB_colormanagement_transform_byte(unsigned char *buffer, int width, int height, int channels, + const char *from_colorspace, const char *to_colorspace); +void IMB_colormanagement_transform_byte_threaded(unsigned char *buffer, int width, int height, int channels, + const char *from_colorspace, const char *to_colorspace); void IMB_colormanagement_transform_v4(float pixel[4], const char *from_colorspace, const char *to_colorspace); void IMB_colormanagement_colorspace_to_scene_linear_v3(float pixel[3], struct ColorSpace *colorspace); @@ -185,6 +189,8 @@ void IMB_colormanagement_processor_apply_v3(struct ColormanageProcessor *cm_proc void IMB_colormanagement_processor_apply_pixel(struct ColormanageProcessor *cm_processor, float *pixel, int channels); void IMB_colormanagement_processor_apply(struct ColormanageProcessor *cm_processor, float *buffer, int width, int height, int channels, bool predivide); +void IMB_colormanagement_processor_apply_byte(struct ColormanageProcessor *cm_processor, + unsigned char *buffer, int width, int height, int channels); void IMB_colormanagement_processor_free(struct ColormanageProcessor *cm_processor); /* ** OpenGL drawing routines using GLSL for color space transform ** */ |