diff options
Diffstat (limited to 'source/blender/imbuf/intern/tiff.c')
-rw-r--r-- | source/blender/imbuf/intern/tiff.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c index 2cb30b84a09..e09fdf259c6 100644 --- a/source/blender/imbuf/intern/tiff.c +++ b/source/blender/imbuf/intern/tiff.c @@ -790,8 +790,14 @@ int imb_savetiff(ImBuf *ibuf, const char *name, int flags) /* convert from float source */ float rgb[4]; - /* TODO - support color management */ - linearrgb_to_srgb_v3_v3(rgb, &fromf[from_i]); + if (ibuf->float_colorspace) { + /* float buffer was managed already, no need in color space conversion */ + copy_v3_v3(rgb, &fromf[from_i]); + } + else { + /* standard linear-to-srgb conversion if float buffer wasn't managed */ + linearrgb_to_srgb_v3_v3(rgb, &fromf[from_i]); + } rgb[3] = fromf[from_i + 3]; |