Provided by: pvrg-jpeg_1.2.1+dfsg1-7_amd64 bug

NAME

       pvrg-jpeg - JPEG compression and decompression

SYNOPSIS

       pvrg-jpeg -iw ImageWidth -ih ImageHeight [-JFIF] [-q(l) Q-Factor]
            [-a] [-b] [-d] [-k predictortype] [-n] [-O] [-y] [-z] [-g]
            [-p PrecisionValue] [-t pointtransform]
            [-r ResyncInterval] [-s StreamName] [-o OutBaseName]
            [[-ci ComponentIndex1] [-fw FrameWidth1] [-fh FrameHeight1]
             [-hf HorizontalFrequency1] [-vf VerticalFrequency1]
             ComponentFile1]
            [[-ci ComponentIndex2] [-fw FrameWidth2] [-fh FrameHeight2]
             [-hf HorizontalFrequency2] [-vf VerticalFrequency2]
             ComponentFile2]
            ....

DESCRIPTION

       pvrg-jpeg  is a still-image compression/decompression program that performs JPEG encoding and decoding of
       multiple raster-scanned files.

       These ``raster-scanned files'' are basically PGM (portable graymap)  files  without  the  PGM  header.  A
       typical JPEG image is made of three of these files representing the Y, Cr, and Cb color channels. Usually
       the  Y (lumience) channel is full size, while the two chroma channels are half width and half height. But
       no particular channel really needs to be full size, so pvrg-jpeg will need to know the dimensions of  the
       original image when creating jpegs.

OPTIONS

       ImageWidth
              specifies  the  width  of  the  original  image. This should correspond to the width of the widest
              component and, thus, the width of the ``original  image''.  All  components  have  widths  roughly
              corresponding to an integer decimation ratio from this specification.

       ImageHeight
              specifies  the  height  of the tallest component. This corresponds to the height of the ``original
              image''.

       -JFIF  specifies that a JFIF header is placed on the encoded stream.  This is unnecessary for decoding.

       Q-Factor
              option specifies a multiplicative factor for the quantization: each  quantization  coefficient  of
              the  default matrix is scaled by (Q-Factor/50). A Q-Factor of 0 is the same thing as a Q-Factor of
              50 because it disables this function.  -q specifies an 8 bit quantization matrix; -ql specifies  a
              16 bit quantization matrix, useful for 12 bit data.

       -a     enables the double-precision floating point Reference DCT.  (Default is Chen DCT.)

       -b     enables the Lee DCT.  (Default is Chen DCT.)

       -d     enables decoding.  See below.

       -g     This option will put PGM headers on output files when decoding.

       -k predictortype
              The  lossless  predictor  type,  specified as an integer between 1-7.  If specified, then lossless
              mode is used.

       -n     This option specifies that the files should not be transmitted in interleaved format.

       -o OutBaseName
              This will use specified string as a base name for output files when decoding.

       -O     signals that the command interpreter will read from the standard input.

       -p     Specifies the precision.  Normally should be between 2-16 for lossless; 8 or 12 for DCT.  If it is
              specified as a number greater than 8 then the input is considered to be unsigned shorts (16  bits,
              msb first). Not aggressively checked.

       -s JPEGStreamName
              When encoding, this will be used as the output file. When decoding, this will be used as the input
              file.

       -t pointtransform
              Specifies  the  shifting  (right)  upon  loading  input  and  shifting  (left) upon writing input.
              Generally used by the lossless mode only.  Can be used by the DCT mode to add or subtract bits.

       -y     for decoding only, signals that no resynchronization is enabled, thus ignore any markers found  in
              the data stream.

       -z     enables  use  of default Huffman tables. This converts the coding from a two-pass system using the
              first pass to generate custom tables to a one-pass system using internal default tables. With this
              option, the compression speed is nearly doubled, but because the internal tables are not custom to
              the image, the compressed file size increases slightly.

       ResyncInterval
              specifies a resync (restart) interval for the input file--if set to 0 (default), resynchronization
              is disabled; otherwise it signifies the number of MDU between a resync marker.

       StreamName
              is the place to  load(decoder)/store(encoder) the  coded  image--if  unspecified  it  defaults  to
              ComponentFile1.jpg.

              For every component in the image we have:

       ComponentIndex
              describes  the component index where the file data should be associated with.  The possible values
              are between 0 and 255.  As a rule Y is in 1; U is in 2; V is in 3.  The  file  specifications,  if
              left  undisturbed,  will result in component location of 1 for the first component file, 2 for the
              second component file, and so on.  If -ci is specified for the previous component file,  then  the
              next component index defaults to the previous component index plus 1.

       FrameWidth
              describes  the  actual  width  of  the  component.  This should be determinable by the size of the
              original image (ImageHeight and ImageWidth) and the frequency sampling of  that  component.   This
              program  assumes  that  the  sampling  component will be round up to the nearest integer and other
              programs may not necessarily follow  that  convention,  we  allow  precise  specification  of  the
              FrameWidth.   The program will notify the user if the framewidth and frameheight specifications do
              not correspond to a logical MDU pattern and thus will refuse to take the input (in fact, sometimes
              rounding down will not result in a logical MDU pattern).

       FrameHeight
              describes the actual height of the component. Multiplied together  with  FrameWidth,  this  should
              equal the file size of the component.  See the above discussion on the actual specification.

       Hor-Frequency
              specifies  the block sampling frequency of the component in the horizontal direction for every MDU
              transmitted.

       Ver-Frequency
              specifies the block sampling frequency of the component in the vertical direction. When multiplied
              together with the Horizontal frequency, it corresponds to the number of blocks of  that  component
              in the MDU.

       ComponentFilen
              represents the directory path location of the nth component file.

EXAMPLES

       In  order  to  encode a set of raster-scanned files: 128x128 in image.Y; 64x128 in image.U; and 64x128 in
       image.V into the file image.jpg, the command is

       pvrg-jpeg -iw 128 -ih 128  -hf 2 image.Y image.U image.V -s image.jpg

       In order to decode a compressed file in image.jpg, type

       pvrg-jpeg -d -s image.jpg

       The three output files will be in image.jpg.1 image.jpg.2 image.jpg.3.  The images can  be  displayed  by
       the  cv  program.   The  images  can  also be converted to ppm and back through the programs cyuv2ppm and
       ppm2cyuv      Those      utility      programs      available      by      anonymous       ftp       from
       havefun.stanford.edu:pub/cv/CVv1.2.1.tar.Z.
       There  are  many  more  options  within  an  internal  command  interpreter.  Please see the accompanying
       documentation in doc.ps for more details.

BUGS

       Somewhat slower than many commercial implementations, some bugs are probably  lurking  around.   Lossless
       coding  and decoding are especially slow.  This program can produce jpeg files that other programs cannot
       understand.

AUTHOR

       Andy Hung

4th Berkeley Distribution                         14 June 1993                                      PVRG-JPEG(1)