org.pdfbox.pdmodel.graphics.predictor

Class Paeth


public class Paeth
extends PredictorAlgorithm

From http://www.w3.org/TR/PNG-Filters.html: The Paeth filter computes a simple linear function of the three neighboring pixels (left, above, upper left), then chooses as predictor the neighboring pixel closest to the computed value. This technique is due to Alan W. Paeth [PAETH]. To compute the Paeth filter, apply the following formula to each byte of the scanline: Paeth(i,j) = Raw(i,j) - PaethPredictor(Raw(i-1,j), Raw(i,j-1), Raw(i-1,j-1)) To decode the Paeth filter Raw(i,j) = Paeth(i,j) - PaethPredictor(Raw(i-1,j), Raw(i,j-1), Raw(i-1,j-1))
Version:
$Revision: 1.3 $
Author:
xylifyx@yahoo.co.uk

Method Summary

void
decodeLine(byte[] src, byte[] dest, int srcDy, int srcOffset, int destDy, int destOffset)
void
encodeLine(byte[] src, byte[] dest, int srcDy, int srcOffset, int destDy, int destOffset)
int
paethPredictor(int a, int b, int c)
The paeth predictor function.

Methods inherited from class org.pdfbox.pdmodel.graphics.predictor.PredictorAlgorithm

aboveLeftPixel, abovePixel, checkBufsiz, decode, decodeLine, encode, encodeLine, getBpp, getFilter, getHeight, getWidth, leftPixel, main, setBpp, setHeight, setWidth

Method Details

decodeLine

public void decodeLine(byte[] src,
                       byte[] dest,
                       int srcDy,
                       int srcOffset,
                       int destDy,
                       int destOffset)
Overrides:
decodeLine in interface PredictorAlgorithm

encodeLine

public void encodeLine(byte[] src,
                       byte[] dest,
                       int srcDy,
                       int srcOffset,
                       int destDy,
                       int destOffset)
Overrides:
encodeLine in interface PredictorAlgorithm

paethPredictor

public int paethPredictor(int a,
                          int b,
                          int c)
The paeth predictor function. This function is taken almost directly from the PNG definition on http://www.w3.org/TR/PNG-Filters.html
Parameters:
a - left
b - above
c - upper left
Returns:
The result of the paeth predictor.