Page MenuHome
Paste P2089

(An Untitled Masterwork)
ActivePublic

Authored by Richard Antalik (ISS) on Apr 26 2021, 2:41 PM.
diff --git a/source/blender/sequencer/intern/render.c b/source/blender/sequencer/intern/render.c
index 96c881c9c5f..d08d7a61812 100644
--- a/source/blender/sequencer/intern/render.c
+++ b/source/blender/sequencer/intern/render.c
@@ -975,21 +975,33 @@ static ImBuf *seq_render_image_strip_view(const SeqRenderData *context,
}
/* We don't need both (speed reasons)! */
if (ibuf->rect_float != NULL && ibuf->rect != NULL) {
imb_freerectImBuf(ibuf);
}
/* All sequencer color is done in SRGB space, linear gives odd cross-fades. */
seq_imbuf_to_sequencer_space(context->scene, ibuf, false);
- return ibuf;
+ ImBuf *colormanaged_ibuf = IMB_dupImBuf(ibuf);
+ IMB_freeImBuf(ibuf);
+
+ Scene *scene = context->scene;
+ ColorManagedDisplaySettings display_settings = scene->r.im_format.display_settings;
+ ColorManagedViewSettings view_settings = scene->r.im_format.view_settings;
+
+ IMB_colormanagement_imbuf_make_display_space(
+ colormanaged_ibuf, &view_settings, &display_settings);
+ IMB_colormanagement_assign_float_colorspace(colormanaged_ibuf, "sRGB");
+ seq_imbuf_to_sequencer_space(scene, colormanaged_ibuf, false);
+
+ return colormanaged_ibuf;
}
static bool seq_image_strip_is_multiview_render(
Scene *scene, Sequence *seq, int totfiles, char *name, char *r_prefix, const char *r_ext)
{
if (totfiles > 1) {
BKE_scene_multiview_view_prefix_get(scene, name, r_prefix, &r_ext);
if (r_prefix[0] == '\0') {
return false;
}