doc: use two's complement explicitly for uint8->int8 conversion

BUG=webp:225

Change-Id: I6bad131e275dbd992484e95a1b834010121281b8
(cherry picked from commit 13ae011e4c)
This commit is contained in:
Pascal Massimino 2016-09-05 10:57:56 -07:00 committed by James Zern
parent f91ba96306
commit 76e190735b

View File

@ -429,6 +429,11 @@ int8 ColorTransformDelta(int8 t, int8 c) {
} }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A conversion from the 8-bit unsigned representation (uint8) to the 8-bit
signed one (int8) is required before calling ColorTransformDelta().
It should be performed using 8-bit two's complement (that is: uint8 range
\[128-255\] is mapped to the \[-128, -1\] range of its converted int8 value).
The multiplication is to be done using more precision (with at least The multiplication is to be done using more precision (with at least
16-bit dynamics). The sign extension property of the shift operation 16-bit dynamics). The sign extension property of the shift operation
does not matter here: only the lowest 8 bits are used from the result, does not matter here: only the lowest 8 bits are used from the result,