Cloneable
public class DeltaOptions extends FilterOptions
Currently only simple byte-wise delta is supported. The only option is the delta distance, which you should set to match your data. It's not possible to provide a generic default value for it.
For example, with distance = 2 and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02.
The Delta filter can be good with uncompressed bitmap images. It can also help with PCM audio, although special-purpose compressors like FLAC will give much smaller result at much better compression speed.
Modifier and Type | Field | Description |
---|---|---|
static int |
DISTANCE_MAX |
Largest supported delta calculation distance.
|
static int |
DISTANCE_MIN |
Smallest supported delta calculation distance.
|
Constructor | Description |
---|---|
DeltaOptions() |
Creates new Delta options and sets the delta distance to 1 byte.
|
DeltaOptions(int distance) |
Creates new Delta options and sets the distance to the given value.
|
Modifier and Type | Method | Description |
---|---|---|
Object |
clone() |
|
int |
getDecoderMemoryUsage() |
Gets how much memory the decoder will need to decompress the data
that was encoded with these options.
|
int |
getDistance() |
Gets the delta distance.
|
int |
getEncoderMemoryUsage() |
Gets how much memory the encoder will need with these options.
|
InputStream |
getInputStream(InputStream in,
ArrayCache arrayCache) |
Gets a raw (no XZ headers) decoder input stream using these options
and the given ArrayCache.
|
FinishableOutputStream |
getOutputStream(FinishableOutputStream out,
ArrayCache arrayCache) |
Gets a raw (no XZ headers) encoder output stream using these options
and the given ArrayCache.
|
void |
setDistance(int distance) |
Sets the delta distance in bytes.
|
getDecoderMemoryUsage, getEncoderMemoryUsage, getInputStream, getOutputStream
public static final int DISTANCE_MIN
public static final int DISTANCE_MAX
public DeltaOptions()
public DeltaOptions(int distance) throws UnsupportedOptionsException
UnsupportedOptionsException
public void setDistance(int distance) throws UnsupportedOptionsException
UnsupportedOptionsException
public int getDistance()
public int getEncoderMemoryUsage()
FilterOptions
getEncoderMemoryUsage
in class FilterOptions
public FinishableOutputStream getOutputStream(FinishableOutputStream out, ArrayCache arrayCache)
FilterOptions
getOutputStream
in class FilterOptions
public int getDecoderMemoryUsage()
FilterOptions
getDecoderMemoryUsage
in class FilterOptions
public InputStream getInputStream(InputStream in, ArrayCache arrayCache)
FilterOptions
getInputStream
in class FilterOptions