Provided by: pvrg-jpeg_1.2.1+dfsg1-4_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 specfications, 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