Filter
public class RunLengthDecodeFilter extends java.lang.Object implements Filter
The RunLengthDecode filter decodes data that has been encoded in a simple byte-oriented format based on run length. The encoded data is a sequence of runs, where each run consists of a length byte followed by 1 to 128 bytes of data. If the length byte is in the range 0 to 127, the following length + 1 (1 to 128) bytes are copied literally during decompression. If length is in the range 129 to 255, the following single byte is to be copied 257 ? length (2 to 128) times during decompression. A length value of 128 denotes EOD. The compression achieved by run-length encoding depends on the input data. In the best case (all zeros), a compression of approximately 64:1 is achieved for long files. The worst case (the hexadecimal sequence 00 alternating with FF) results in an expansion of 127:128.
Constructor | Description |
---|---|
RunLengthDecodeFilter() |
Constructor.
|
Modifier and Type | Method | Description |
---|---|---|
void |
decode(java.io.InputStream compressedData,
java.io.OutputStream result,
COSDictionary options,
int filterIndex) |
This will decode some compressed data.
|
void |
encode(java.io.InputStream rawData,
java.io.OutputStream result,
COSDictionary options,
int filterIndex) |
This will encode some data.
|
public void decode(java.io.InputStream compressedData, java.io.OutputStream result, COSDictionary options, int filterIndex) throws java.io.IOException
decode
in interface Filter
compressedData
- The compressed byte stream.result
- The place to write the uncompressed byte stream.options
- The options to use to encode the data.filterIndex
- The index to the filter being decoded.java.io.IOException
- If there is an error decompressing the stream.public void encode(java.io.InputStream rawData, java.io.OutputStream result, COSDictionary options, int filterIndex) throws java.io.IOException
encode
in interface Filter
rawData
- The raw data to encode.result
- The place to write to encoded results to.options
- The options to use to encode the data.filterIndex
- The index to the filter being encoded.java.io.IOException
- If there is an error compressing the stream.