You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
372 B
16 lines
372 B
"use strict";
|
|
|
|
module.exports = function paethPredictor(left, above, upLeft) {
|
|
let paeth = left + above - upLeft;
|
|
let pLeft = Math.abs(paeth - left);
|
|
let pAbove = Math.abs(paeth - above);
|
|
let pUpLeft = Math.abs(paeth - upLeft);
|
|
|
|
if (pLeft <= pAbove && pLeft <= pUpLeft) {
|
|
return left;
|
|
}
|
|
if (pAbove <= pUpLeft) {
|
|
return above;
|
|
}
|
|
return upLeft;
|
|
};
|
|
|