Class RunLengthDecode

java.lang.Object
org.loboevolution.pdfview.decode.RunLengthDecode

public class RunLengthDecode extends Object
decode an array of Run Length encoded bytes into a byte array

Author Mike Wessler

  • Method Details

    • decode

      public static ByteBuffer decode(ByteBuffer buf, PDFObject params) throws PDFParseException
      decode an array of bytes in RunLength format.

      RunLength format consists of a sequence of a byte-oriented format based on run length. There are a series of "runs", where a run is a length byte followed by 1 to 128 bytes of data. If the length is 0-127, the following length+1 (1 to 128) bytes are to be copied. If the length is 129 through 255, the following single byte is copied 257-length (2 to 128) times. A length value of 128 means and End of Data (EOD).

      Parameters:
      buf - the RUnLEngth encoded bytes in a byte buffer
      params - parameters to the decoder (ignored)
      Returns:
      the decoded bytes
      Throws:
      PDFParseException - if any.