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
    • Constructor Summary

      Constructors 
      Constructor Description
      Paeth()  
    • Constructor Detail

      • Paeth

        public Paeth()
    • Method Detail

      • 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.
      • encodeLine

        public void encodeLine​(byte[] src,
                               byte[] dest,
                               int srcDy,
                               int srcOffset,
                               int destDy,
                               int destOffset)
        encode line of pixel data in src from srcOffset and width*bpp bytes forward, put the decoded bytes into dest.
        Specified by:
        encodeLine in class PredictorAlgorithm
        Parameters:
        src - raw image data
        dest - encoded data
        srcDy - byte offset between lines
        srcOffset - beginning of line data
        destDy - byte offset between lines
        destOffset - beginning of line data
      • decodeLine

        public void decodeLine​(byte[] src,
                               byte[] dest,
                               int srcDy,
                               int srcOffset,
                               int destDy,
                               int destOffset)
        decode line of pixel data in src from src_offset and width*bpp bytes forward, put the decoded bytes into dest.
        Specified by:
        decodeLine in class PredictorAlgorithm
        Parameters:
        src - encoded image data
        dest - raw data
        srcDy - byte offset between lines
        srcOffset - beginning of line data
        destDy - byte offset between lines
        destOffset - beginning of line data