Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlly Funkster <>2017-05-16 10:44:20 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-05-16 11:36:33 +0300
commit06ac6ded66fbbbce6d316ff44880897661b8e276 (patch)
treefe807af0f96fa4a5f943bcde77f6a3fe341a6b21 /source/blender/imbuf/intern/colormanagement.c
parentf6afd1b73c99b5141212b55f911bc2ddca2d6afc (diff)
Fix byte-to-float conversion when using scene strips in sequencer with identical color spaces
Fix T50882: VSE: Blend Modes on Scenes do not layer properly Fix T51002: Scene strip with Alpha over not working as expected The byte-to-float conversion was being skipped if the color spaces of the sequence and the scene are the same, which is the default, resulting in any non-float strips becoming invisible. Reviewers: sergey Differential Revision: https://developer.blender.org/D2635
Diffstat (limited to 'source/blender/imbuf/intern/colormanagement.c')
-rw-r--r--source/blender/imbuf/intern/colormanagement.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/imbuf/intern/colormanagement.c b/source/blender/imbuf/intern/colormanagement.c
index fc382f02b2c..cdb8f2c6fa2 100644
--- a/source/blender/imbuf/intern/colormanagement.c
+++ b/source/blender/imbuf/intern/colormanagement.c
@@ -1759,9 +1759,14 @@ void IMB_colormanagement_transform_from_byte_threaded(float *float_buffer, unsig
return;
}
if (STREQ(from_colorspace, to_colorspace)) {
- /* If source and destination color spaces are identical, skip
- * threading overhead and simply do nothing
+ /* Because this function always takes a byte buffer and returns a float buffer, it must
+ * always do byte-to-float conversion of some kind. To avoid threading overhead
+ * IMB_buffer_float_from_byte is used when color spaces are identical. See T51002.
*/
+ IMB_buffer_float_from_byte(float_buffer, byte_buffer,
+ IB_PROFILE_SRGB, IB_PROFILE_SRGB,
+ true,
+ width, height, width, width);
return;
}
cm_processor = IMB_colormanagement_colorspace_processor_new(from_colorspace, to_colorspace);