| Index: third_party/qcms/src/transform_util.c
|
| diff --git a/third_party/qcms/src/transform_util.c b/third_party/qcms/src/transform_util.c
|
| index aa08df04bffed7e2d781608b66ace76033d8365d..5cb45f8419e81132b4176eb9cf076bb740c28a97 100644
|
| --- a/third_party/qcms/src/transform_util.c
|
| +++ b/third_party/qcms/src/transform_util.c
|
| @@ -360,6 +360,14 @@ uint16_fract_t lut_inverse_interp16(uint16_t Value, uint16_t LutTable[], int len
|
| return 0;
|
| }
|
|
|
| + // For input 0, return that to maintain black level. Note the binary search
|
| + // does not. For example, it inverts the standard sRGB gamma curve to 7 at
|
| + // the origin, causing a black level error.
|
| +
|
| + if (Value == 0 && NumZeroes) {
|
| + return 0;
|
| + }
|
| +
|
| // Seems not a degenerated case... apply binary search
|
|
|
| while (r > l) {
|
|
|