Hi crews,
I'm reversing an audio compression algorithm now that uses a bunch of different coding techniques in order to make its output small.
Among other it utilizes some the following delta coding:
Coefficients to be encoded (a sound parameter) are in the range 0...7. The first one will be coded directly, for all others - only the difference to the previous coefficient will be coded. Therefore the difference is in the range -7...+7. That's clear and easy to understand.
The programm I RE uses only the half range of that difference, i.e. -4...+3! This is achieved by keeping only 3 bits and masking out all above:
b = (a - delta) & 7;
Here the proof:
reference value is 1, the new value is 6, difference = -5.
We don't have the difference value of "-5" but we can use 3 instead:
(1 - 3) & 7 = 6.
Another example:
reference value is 7, the new value is 2, difference = 5.
We don't have the difference value of "5" but we can use -3 instead:
(7 - (-3)) & 7 = 2.
To my question: has someone ever seen smth like that?
I would create a doc but don't know how to name such a stuff properly...
Thanks in advance
Maximum



