In addition to the options common to all programs based on libnetpbm (most notably -quiet, see Common
Options ), pnmtofiasco recognizes the following command line options:
All option names may be abbreviated; for example, --optimize may be written --optim or --opt. For most
options a one letter short option is provided. Mandatory or optional arguments to long options are
mandatory or optional for short options, too. Both short and long options are case sensitive.
BasicOptions-iname, --image-name=name
Compress the named images, not Standard Input. If name is -, read Standard Input. name has to be
either an image filename or a template of the form:
prefix[start-end{+,-}step]suffix
Templates are useful when compressing video streams: e.g., if you specify the template
img0[12-01-2].pgm, then pnmtofiasco compresses the images img012.pgm, img010.pgm, ..., img002.pgm.
If name is a relative path, pnmtofiasco searches for the image files in the current directory and
in the (colon-separated) list of directories given by the environment variable FIASCO_IMAGES.
-ooutput-file, --output-name=name
Write FIASCO output to the named file, not to Standard Output.
If name is a relative path and the environment variable FIASCO_DATA is a (colon-separated) list of
directories, then pnmtofiasco writes the output file to the first (writable) directory of this
list. Otherwise, pnmtofiasco write it to the current directory.
-qN, --quality=N
Set quality of compression to N. Quality is 1 (worst) to 100 (best); default is 20.
-v, --version
Print pnmtofiasco version number, then exit.
-VN, --verboseN
Set level of verbosity to N. Level is 0 (no output at all), 1 (show progress meter), or 2 (show
detailed compression statistics); default is 1.
-BN, --progress-meterN
Set type of progress-meter to N. The following types are available; default is 1:
0 no progress meter
1 RPM style progress bar using 50 hash marks
2 percentage meter
-fname, --config=name
Load parameter file name to initialize the options of pnmtofiasco. See file system.fiascorc for
an example of the syntax. Options of pnmtofiasco are set by any of the following methods (in the
specified order):
• Global resource file /etc/system.fiascorc
• $HOME/.fiascorc
• command line
• --config=name-h, --info
Print brief help, then exit.
-H, --help
Print detailed help, then exit.
OptionsforAdvancedUsers-bname, --basis-name=name
Preload compression basis name into FIASCO. The basis name provides the initial compression
dictionary. Either use one of the files "small.fco", "medium.fco", or "large.fco" that come with
pnmtofiasco or create a new ASCII basis file.
-zN, --optimize=N
Set optimization level to N. Level is 0 (fastest) to 3 (slowest); default is 1. Be warned, the
encoding time dramatically increased when N=2 or N=3 while the compression performance only
slightly improves.
-P, --prediction
Use additional predictive coding. If this optimization is enabled then the image is compressed in
two steps. In the first step, a coarse approximation of the image is computed using large
unichrome blocks. Finally, the delta image is computed and the prediction error is approximated
using the standard FIASCO algorithm.
-DN, --dictionary-size=N
Set size of dictionary that is used when coding the luminance band to N; default is 10000, i.e.,
the dictionary is not restricted.
-CN, --chroma-dictionary=N
Set size of dictionary that is used when coding chroma bands to N; default is 40.
-QN, --chroma-qfactor=N
Reduce the quality of chroma band compression N-times with respect to the user defined quality q
of the luminance band compression (--quality=q); default is 2.
-tN, --tiling-exponent=N
Subdivide the image into 2^N tiles prior coding; default is 4, i.e. the image is subdivided into
16 tiles. The processing order of the individual tiles is defined by the option --tiling-method=name.
-Tname, --tiling-method=name
Order the individual image tiles (the image is subdivided into; see option --tiling-exponent=N) by
method name; default is desc-variance.
desc-variance
Tiles with small variances are processed first.
asc-variance
Tiles with large variances are processed first.
desc-spiral
Tiles are process in spiral order starting in the middle.
asc-spiral
Tiles are process in spiral order starting at the border.
--rpf-mantissa=N
Use N mantissa bits for quantized coefficients.
--dc-rpf-mantissa=N
Use N mantissa bits for quantized DC coefficients.
--rpf-range=N
Coefficients outside the quantization interval [-N,+N] are set to zero.
--dc-rpf-range=N
DC coefficients outside the quantization interval [-N,+N] are set to zero.
AdditionalOptionsforVideoCompression-sN, --smooth=N
Smooth decompressed reference frames along the partitioning borders by the given amount N. N is 0
(no smoothing) to 100; default is 70. This factor is stored in the FIASCO file.
-mN, --min-level=N
Start prediction (motion compensated prediction or additional prediction) on block level N;
default is level 6. I.e., motion compensation is applied to all image blocks of at least 8x8
pixels (binary tree level N=6), 16x8 (N=7), 16x16 (N=8), etc.
-MN, --max-level=N
Stop prediction (motion compensated prediction or additional prediction) on block level N; default
is level 10. I.e., motion compensation is applied to all image blocks of at most 16x16 pixels
(N=8), 32x16 (N=9), 32x32 (N=10), etc.
-2, --half-pixel
Use half pixel precise motion compensation.
-FN, --fps=N
Set number of frames per second to N. This value is stored in the FIASCO output file and is used
in the decoder fiascotopnm(1) to control the framerate.
-ptype, --pattern=type
Defines the type of inter frame compression which should be applied to individual frames of a
video stream. type is a sequence of characters; default is "IPPPPPPPPP". Element N defines the
type of predicting which should be used for frame N; the frame type pattern is periodically
extended. Valid characters are:
I intra frame, i.e., no motion compensated prediction is used at all.
P predicted frame, i.e., a previously encoded frame is used for prediction (forward prediction).
B bidirectional predicted frame, i.e., not only a previously shown frame but also a frame of the
future is used for prediction (forward, backward or interpolated prediction).
--cross-B-search
Instead of using exhaustive search the "Cross-B-Search" algorithm is used to find the best
interpolated prediction of B-frames.
--B-as-past-ref
Also use previously encoded B-frames when prediction the current frame. If this option is not set,
only I- and P-frames are used to predict the current frame.