2018-05-26 22:48:13 +10:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
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;
|
2018-02-19 04:41:25 +11:00
|
|
|
};
|