Improve colorspace/color profile/gamma/OETF handling (was: Linear RGB data type)

Currently Vuo does not understand the difference between RGB that is in linear - or has an OETF (gamma) applied.

Attached is an example composition that shows the difference between the two- when using a blur.

I suggest that there be a linear data cable type, which can be converted easily. No image processing (compositing, blur, etc) should happen to the data when their is an OETF on the data.

This would mean that Vuo would need to read the ICC profile of the image, and remove the EOTF based on the tags. (And also allow the user to convert from known colour spaces - sRGB, P3, rec.2020 etc)
https://nick-shaw.github.io/cinematiccolor/common-rgb-color-spaces.html

This is clearly shown in a blur effect, with an image with saturated colours.

Simply because x^2 + x^2 != (x+x)^2

Here are two screenshots from the attached Vuo composition, note that in both the blur effect is identical, the only difference is the top one has: OETF removedBlurOETF applied.


NOTE: for the attached example composition- I am using the approximation of pow(src, 2.2) for sRGB OETF

Archive.zip (33 KB)

We’ve opened this for community voting.