@fitbit/pngjs
Version:
PNG encoder/decoder in pure JS, supporting any bit size & interlace, async & sync with full test suite.
17 lines (14 loc) • 388 B
JavaScript
;
module.exports = function paethPredictor(left, above, upLeft) {
var paeth = left + above - upLeft;
var pLeft = Math.abs(paeth - left);
var pAbove = Math.abs(paeth - above);
var pUpLeft = Math.abs(paeth - upLeft);
if (pLeft <= pAbove && pLeft <= pUpLeft) {
return left;
}
if (pAbove <= pUpLeft) {
return above;
}
return upLeft;
};