Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:
[x] I've formatted my code according to Natron's code style
[x] I've searched the pull requests tracker to ensure that this PR is not a duplicate
PR Description
What type of PR is this? (Check one of the boxes below)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
What does this pull request do?
Add BT1886 display EOTF
Have you tested your changes (if applicable)? If so, how?
Yes, by comparing with other software (Nuke)
Futher details of this pull request
I added this EOTF because it was missing. BT1886 is the correct monitor "gamma" for Rec2020/Rec709 HDTV.
I discovered that the Rec709 EOTF used in Natron is the one for camera linear to non-linear signal, so it seems a bit useless to me.
Here is a note about it in wikipedia :
Rec. 709 specifies a non-linear OETF (opto-electrical transfer function) which is known as the "camera gamma" and which describes how HDTV camera encodes the linear scene light into a non-linear electrical signal value. Rec. 709 doesn't specify the display EOTF (electro-optical transfer function) which describes how HDTV displays should convert the non-linear electrical signal into linear displayed light, that was done in ITU-R BT.1886. Rec.709 is "scene-referred", which means that change of primaries should happen on scene linear light (by applying inverse OETF, changing primaries and applying OETF again, only after which you convert to display linear light using EOTF).
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. Additionally, make sure you've done all of these things:
PR Description
What type of PR is this? (Check one of the boxes below)
What does this pull request do?
Add BT1886 display EOTF
Have you tested your changes (if applicable)? If so, how?
Yes, by comparing with other software (Nuke)
Futher details of this pull request
I added this EOTF because it was missing. BT1886 is the correct monitor "gamma" for Rec2020/Rec709 HDTV. I discovered that the Rec709 EOTF used in Natron is the one for camera linear to non-linear signal, so it seems a bit useless to me.
Here is a note about it in wikipedia :
Rec. 709 specifies a non-linear OETF (opto-electrical transfer function) which is known as the "camera gamma" and which describes how HDTV camera encodes the linear scene light into a non-linear electrical signal value. Rec. 709 doesn't specify the display EOTF (electro-optical transfer function) which describes how HDTV displays should convert the non-linear electrical signal into linear displayed light, that was done in ITU-R BT.1886. Rec.709 is "scene-referred", which means that change of primaries should happen on scene linear light (by applying inverse OETF, changing primaries and applying OETF again, only after which you convert to display linear light using EOTF).