I've been working on an implementation of this in Rust actually, weird timing. Cool article.
A friend of mine wrote one for Go with the goal of creating the best and most complete dithering library out there and I think he did a decent job. Worth a look if you're looking for reference implementations!
Here's his: https://github.com/makew0rld/dither
A friend of mine wrote one for Go with the goal of creating the best and most complete dithering library out there and I think he did a decent job. Worth a look if you're looking for reference implementations!
Here's his: https://github.com/makew0rld/dither