VCODEX 1 "May 31 2001"
NAME
vcdiff, vcundiff, vcmap - data tranforms including compression.
SYNOPSIS
vcdiff [-m] [-e] [-d] [-G] [-w] [-t] [source [target]] [< target] > delta

vcundiff [source [target]] [> target] < delta

vchuff [-r] [-f] [-w] [-t] [input [output]] [< input] [> output]

vcunhuff [input [output]] [< input] [> output]

vcmap [map] < input > output

DESCRIPTION
.fl

.. .fl

"\\$1"
.. .Ss "vcdiff [-m] [-e] [-d] [-w] [-t] [-G] [source [target]] [< target] > delta" vcdiff is a delta compressor, i.e., it can compress a target file given a source file or it can just compress a target file by itself. Source and target files can be given as a pair of arguments or the source can be given as a single argument and the target given as the standard input. The symbol - means none for the source file and standard input for the target file. For example, below are valid invocations of vcdiff:

 vcdiff source < target > delta
 vcdiff source - < target > delta
 vcdiff source target > delta
 vcdiff - target > delta
 vcdiff < target > delta

Large target data may be partitioned into windows suitable for in-core processing. These windows are matched against source windows that may come from the source file or some earlier part of the target file. By default, vcdiff uses a fast search algorithms based on matching n-gram frequencies Below are arguments for vcdiff: .Tp -m: This option causes vcdiff to just mirror file offsets between matching source and target windows. -e\P: This option causes vcdiff to perform an exhaustive search based on n-gram frequencies to find a matching source window to a target window. This search nearly always finds an optimally matching window but it is slow, hence the name. See the description of the windowing method \f5Sfwslow in vcodex(3) for details. .Tp -d: This option causes vcdiff to compute only the differences between source and target data. That is, it will not attempt to compress target data using data from the target windows themselves. .Tp -G\P: This option causes vcdiff to compute a delta encoded with the GDIFF format (http://www.w3.org/TR/NOTE-gdiff-19970901.html). .Tp -w: This option sets the window size, i.e., amount of data to be processed at one time. .Tp -t\P: This option causes ]fBvcdiff to generate a trace of source and target windows and results of their compression.

.Ss "vcundiff [source [target]] [> target] < delta" vcundiff decodes data produced by vcdiff. Thus, if the data was a result of compressing a target file against a source file, then the source file must be given in order to decode correctly. Source and target files are given in a manner similar to that of vcdiff except that the target file is now an output file instead of an input file. In addition, since the shell typically opens a standard output file only for writing, if the compressed data was created with -g or -s options in vcdiff, the target file should be given as an argument so that vcunhuff can open it for both reading and writing.

.Ss "vchuff [-r] [-f] [-w] [-t] [input [output]] [< input] [> output]" .Ss "vcunhuff [input [output]] [< input] [> output]" vchuff and vcunhuff provide a pair of Huffman compressor and decompressor. .Tp \f5-r: This causes vchuff to use a recursive partitioning algorithm to compute areas with different statistical models and compress them separately to improve compression. .Tp \f5-f: This causes vchuff to use a first-fit partitioning algorithm to compute areas with different statistical models and compress them separately to improve compression. .Tp -w: This option sets the window size, i.e., amount of data to be processed at one time. .Tp \f5-t: This causes vchuff to generate a trace of parts that are compressed separately.

.Ss "vcmap [map] < input > output" vcmap maps the bytes of the input file using the given map and writes the result to output. If map is not given, vcmap use the rot13 mapping. A map is a string with an even number of characters. Each pair of letters specifies that the left character is mapped to the right character. For example, the below call will map all lower case 'a' to upper case 'A':

 vcmap "aA" < input > output 

SEE ALSO
compress(1), diff(1), pack(1), rot13(1), vcodex(3).
AUTHOR
Kiem-Phong Vo (kpv@research.att.com)