Use of the wrong type causes the dither to converge
Thanks to Stefan Berg-Johansen for a high quality bug report. > The type declaration on line 79 in`player.c` should read `static > unsigned short x = 0xbabe;`. In the current master branch, `x` is a > static _signed_ short, which results in it taking on negative values > outside of the intended range. Another side effect is that the > returned sequence happens to converge after about 15 calls to a > small negative number, so effectively the current dither function > only imposes a small constant offset and nothing else.