All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.digitalcollections.openjpeg.lib.structs.opj_cparameters Maven / Gradle / Ivy

package de.digitalcollections.openjpeg.lib.structs;

import de.digitalcollections.openjpeg.lib.enums.PROG_ORDER;
import de.digitalcollections.openjpeg.lib.libopenjp2;
import jnr.ffi.Runtime;
import jnr.ffi.Struct;

public class opj_cparameters extends Struct {
  /** size of tile: tile_size_on = false (not in argument) or = true (in argument) */
  public Boolean tile_size_on = new Boolean();
  /** XTOsiz */
  public Signed32 cp_tx0 = new Signed32();
  /** YTOsiz */
  public Signed32 cp_ty0 = new Signed32();
  /** XTsiz */
  public Signed32 cp_tdx = new Signed32();
  /** YTsiz */
  public Signed32 cp_tdy = new Signed32();
  /** allocation by rate/distortion */
  public Signed32 cp_disto_alloc = new Signed32();
  /** allocation by fixed layer */
  public Signed32 cp_fixed_alloc = new Signed32();
  /** add fixed_quality */
  public Signed32 cp_fixed_quality = new Signed32();
  /** fixed layer */
  public Pointer cp_matrice = new Pointer();
  /** comment for coding */
  public String cp_comment = new AsciiStringRef();
  /** csty : coding style */
  public Signed32 csty = new Signed32();
  /** progression order (default OPJ_LRCP) */
  public Enum prog_order = new Enum<>(PROG_ORDER.class);
  /** progression order changes */
  public opj_poc POC[] = array(new opj_poc[32]);
  /** number of progression order changes (POC), default to 0 */
  public Unsigned32 numpocs = new Unsigned32();
  /** number of layers */
  public Signed32 tcp_numlayers = new Signed32();
  /** rates of layers - might be subsequently limited by the max_cs_size field.
   * Should be decreasing. 1 can be
   * used as last value to indicate the last layer is lossless. */
  public Float[] tcp_rates = array(new Float[100]);
  /** different psnr for successive layers. Should be increasing. 0 can be
   * used as last value to indicate the last layer is lossless. */
  public Float[] tcp_distoratio = array(new Float[100]);
  /** number of resolutions */
  public Signed32 numresolution = new Signed32();
  /** initial code block width, default to 64 */
  public Signed32 cblockw_init = new Signed32();
  /** initial code block height, default to 64 */
  public Signed32 cblockh_init = new Signed32();
  /** mode switch (cblk_style) */
  public Signed32 mode = new Signed32();
  /** 1 : use the irreversible DWT 9-7, 0 : use lossless compression (default) */
  public Signed32 irreversible = new Signed32();
  /** region of interest: affected component in [0..3], -1 means no ROI */
  public Signed32 roi_compno = new Signed32();
  /** region of interest: upshift value */
  public Signed32 roi_shift = new Signed32();
  /* number of precinct size specifications */
  public Signed32 res_spec = new Signed32();
  /** initial precinct width */
  public Signed32[] prcw_init = array(new Signed32[libopenjp2.OPJ_J2K_MAXRLVLS]);
  /** initial precinct height */
  public Signed32[] prch_init = array(new Signed32[libopenjp2.OPJ_J2K_MAXRLVLS]);

  /**@name command line encoder parameters (not used inside the library) */
    /*@{*/
  /** input file name */
  String infile = new AsciiString(libopenjp2.OPJ_PATH_LEN);
  /** output file name */
  String outfile = new AsciiString(libopenjp2.OPJ_PATH_LEN);
  /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
  public Signed32 index_on = new Signed32();
  /** DEPRECATED. Index generation is now handeld with the opj_encode_with_info() function. Set to NULL */
  String index = new AsciiString(libopenjp2.OPJ_PATH_LEN);
  /** subimage encoding: origin image offset in x direction */
  Signed32 image_offset_x0 = new Signed32();
  /** subimage encoding: origin image offset in y direction */
  Signed32 image_offset_y0 = new Signed32();
  /** subsampling value for dx */
  Signed32 subsampling_dx = new Signed32();
  /** subsampling value for dy */
  Signed32 subsampling_dy = new Signed32();
  /** input file format 0: PGX, 1: PxM, 2: BMP 3:TIF*/
  Signed32 decod_format = new Signed32();
  /** output file format 0: J2K, 1: JP2, 2: JPT */
  Signed32 cod_format = new Signed32();
    /*@}*/

    /* UniPG>> */ /* NOT YET USED IN THE V2 VERSION OF OPENJPEG */
  /**@name JPWL encoding parameters */
    /*@{*/
  /** enables writing of EPC in MH, thus activating JPWL */
  public Boolean jpwl_epc_on = new Boolean();
  /** error protection method for MH (0,1,16,32,37-128) */
  Signed32 jpwl_hprot_MH = new Signed32();
  /** tile number of header protection specification (>=0) */
  Signed32[] jpwl_hprot_TPH_tileno = array(new Signed32[libopenjp2.JPWL_MAX_NO_TILESPECS]);
  /** error protection methods for TPHs (0,1,16,32,37-128) */
  Signed32[] jpwl_hprot_TPH = array(new Signed32[libopenjp2.JPWL_MAX_NO_TILESPECS]);
  /** tile number of packet protection specification (>=0) */
  Signed32[] jpwl_pprot_tileno = array(new Signed32[libopenjp2.JPWL_MAX_NO_PACKSPECS]);
  /** packet number of packet protection specification (>=0) */
  Signed32[] jpwl_pprot_packno = array(new Signed32[libopenjp2.JPWL_MAX_NO_PACKSPECS]);
  /** error protection methods for packets (0,1,16,32,37-128) */
  Signed32[] jpwl_pprot = array(new Signed32[libopenjp2.JPWL_MAX_NO_PACKSPECS]);
  /** enables writing of ESD, (0=no/1/2 bytes) */
  Signed32 jpwl_sens_size = new Signed32();
  /** sensitivity addressing size (0=auto/2/4 bytes) */
  Signed32 jpwl_sens_addr = new Signed32();
  /** sensitivity range (0-3) */
  Signed32 jpwl_sens_range = new Signed32();
  /** sensitivity method for MH (-1=no,0-7) */
  public Signed32 jpwl_sens_MH = new Signed32();
  /** tile number of sensitivity specification (>=0) */
  Signed32[] jpwl_sens_TPH_tileno = array(new Signed32[libopenjp2.JPWL_MAX_NO_TILESPECS]);
  /** sensitivity methods for TPHs (-1=no,0-7) */
  Signed32[] jpwl_sens_TPH = array(new Signed32[libopenjp2.JPWL_MAX_NO_TILESPECS]);
    /*@}*/
    /* <




© 2015 - 2024 Weber Informatics LLC | Privacy Policy