OJPH_COMPRESS(1)

NAME
ojph_compress - This program reads in an image of a certain type and converts it to a HTJ2K (JPH) file. It is part of the OpenJPH library.

DESCRIPTION

  The following arguments are necessary:

-i input file name (either pgm, ppm, pfm, tif(f), or raw(yuv))

-o output file name

  The following option has a default value (optional):

-num_decomps
    (5) number of decompositions

-qstep
    (0.00001...0.5) quantization step size for lossy compression; quantization steps size for all subbands are derived from this value. {The default value for 8bit images is 0.0039}

-reversible
    <true | false> If this is 'false', an irreversible or lossy compression is employed, using the 9/7 wavelet transform; if 'true', a reversible compression is performed, where the 5/3 wavelet is used. Default value is 'false'.

-colour_trans <true | false> This option employs a color transform,

    to transform RGB color images into the YUV domain. This option should NOT be used with YUV images, because they have already been transformed. If there are three color components that are downsampled by the same amount then this option can be 'true' or 'false'. This option is also available when there are more than three colour components, where it is applied to the first three colour components.

-prog_order
    (RPCL) is the progression order, and can be one of: LRCP, RLCP, RPCL, PCRL, CPRL.

-block_size
    {x,y} (64,64) where x and y are the height and width of a codeblock. In unix-like environment, { and } must be preceded by a \.

-precincts
    {x,y},{x,y},...,{x,y} where {x,y} is the precinct size starting from the coarsest resolution; the last precinct is repeated for all finer resolutions

-tile_offset
    {x,y} tile offset.

-tile_size
    {x,y} tile width and height.

-image_offset {x,y} image offset from origin.

-tileparts
    (None) employ tilepart divisions at each resolution, indicated by the letter R, and/or component, indicated by the letter C. For both, use "-tileparts RC".

-tlm_marker
    <true | false> if 'true', a TLM marker is inserted. Default value is false.

-profile
    (None) is the profile, the code will check if the selected options meet the profile. Currently only BROADCAST and IMF are supported. This automatically sets tlm_marker to true and tileparts to C.

-com
    (None) if set, inserts a COM marker with the specified string. If the string has spaces, please use double quotes, as in -com "This is a comment".

When the input file is a YUV file, these arguments need to be

    supplied: -dims {x,y} x is image width, y is height -num_comps number of components -signed a comma-separated list of true or false parameters, one

    for each component; for example: true,false,false

-bit_depth a comma-separated list of bit depth values, one per

    component; for example: 12,10,10

-downsamp
    {x,y},{x,y},...,{x,y} a list of x,y points, one for each component; for example {1,1},{2,2},{2,2}

.pfm files receive special treatment. Currently, lossy compression with these files is not supported, only lossless. When these files are used, the NLT segment marker is automatically inserted into the codestream when needed, as explained shortly. The following arguments can be useful for this file type.

-signed
    a comma-separated list of true or false parameters, one for each component; for example: true,false,false. If you are sure that all sample values are positive or 0, set the corresponding entry to false; otherwise set it to true. When a component entry is set to true, an NLT segment marker segment is inserted into the codestream. The NLT segment specifies a non-linear transform that changes only negative values, producing better coding efficiency. The NLT segment marker might be less supported in other encoders.

-bit_depth a comma-separated list of bit depth values, one per

    component; for example: 12,10,10. Floating value numbers are treated as integers, and they are shifted to the right, keeping only the specified number of bits. Up to 32 bits (which is the default) are supported.

AUTHOR
This manual page was written by Mathieu Malaterre <malat@debian.org> for the Debian GNU/Linux system (but may be used by others).