libavfilter/vf_colorspace.c: fix demarcation point of gamma linearize function
authorYonglin Luo <vincenluo@tencent.com>
Wed, 3 Jul 2019 02:05:36 +0000 (10:05 +0800)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Wed, 3 Jul 2019 17:57:11 +0000 (13:57 -0400)
commit664a27ea40be078fe452d0cded513af2078d4a52
tree2eff66bfc42b964b8df27edf4f04164c303a1718
parent1ac643f06654e97921069e5a5c322e0e168de7e8
libavfilter/vf_colorspace.c: fix demarcation point of gamma linearize function

The linearize function (usually refered to EOTF) is the inverse of
delinearize function (usually referred to OETF). Demarcation point of
EOTF should be beta*delta, but the actual value used now in the source
code is beta.

For ITU Rec.709, they are 0.081 (0.018*4.5) and 0.018 respectively
(beta = 0.018 and delta = 4.5), and they correspond to pixel value 5
and 21 for an 8-bit image. Linearized result of pixel within that range
(5-21) will be different, but this commit will make linearize function
of the filter more accurate in the mathematical sense.

Signed-off-by: Yonglin Luo <vincenluo@tencent.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavfilter/vf_colorspace.c