-
Notifications
You must be signed in to change notification settings - Fork 0
Description
The section on gamma-encoding in R4 fails to mention that leaving image data gamma-encoded and applying standard image algorithms will result in incorrect data, as all of these algorithms assume linear color. (See: http://blog.johnnovak.net/2016/09/21/what-every-coder-should-know-about-gamma/)
While that seems trivial, a ton of applications still don't gamma decode images before scaling. The page http://www.ericbrasseur.org/gamma.html shows some images that will result in blatantly visible errors when gamma correctness is ignored. Chrome 58, the Ubuntu 17.04 image viewer and your reference implementation commit cpp-io2d/P0267_RefImpl@8ecbdc0 all display pink and green artifacts when trying to scale the first photograph on the page. This is of course not as blatant in unedited pictures, but incorrect scaling will still introduce a slight darkening.
For these reasons I think it's important for the C++ standard to handle this topic with great care, potentially making future applications more correct in the process.