X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fopenjp2%2Fpi.h;h=fd7d681ddcb76021ba5be6c23733a03c301ef4e6;hb=dff377a741ec87f8737002cf112ae12655881777;hp=4d61e4b3623b0edcf2a3d1991fb0ac46acb886cd;hpb=d518970039a19a2a9b6d2bdd592cc88a43897bbb;p=openjpeg.git diff --git a/src/lib/openjp2/pi.h b/src/lib/openjp2/pi.h index 4d61e4b3..fd7d681d 100644 --- a/src/lib/openjp2/pi.h +++ b/src/lib/openjp2/pi.h @@ -44,20 +44,20 @@ by some function in T2.C. /*@{*/ /** -FIXME: documentation +FIXME DOC */ typedef struct opj_pi_resolution { - int pdx, pdy; - int pw, ph; + OPJ_UINT32 pdx, pdy; + OPJ_UINT32 pw, ph; } opj_pi_resolution_t; /** -FIXME: documentation +FIXME DOC */ typedef struct opj_pi_comp { - int dx, dy; + OPJ_UINT32 dx, dy; /** number of resolution levels */ - int numresolutions; + OPJ_UINT32 numresolutions; opj_pi_resolution_t *resolutions; } opj_pi_comp_t; @@ -66,51 +66,44 @@ Packet iterator */ typedef struct opj_pi_iterator { /** Enabling Tile part generation*/ - char tp_on; + OPJ_BYTE tp_on; /** precise if the packet has been already used (usefull for progression order change) */ - short int *include; + OPJ_INT16 *include; /** layer step used to localize the packet in the include vector */ - int step_l; + OPJ_UINT32 step_l; /** resolution step used to localize the packet in the include vector */ - int step_r; + OPJ_UINT32 step_r; /** component step used to localize the packet in the include vector */ - int step_c; + OPJ_UINT32 step_c; /** precinct step used to localize the packet in the include vector */ - int step_p; + OPJ_UINT32 step_p; /** component that identify the packet */ - int compno; + OPJ_UINT32 compno; /** resolution that identify the packet */ - int resno; + OPJ_UINT32 resno; /** precinct that identify the packet */ - int precno; + OPJ_UINT32 precno; /** layer that identify the packet */ - int layno; - /** 0 if the first packet */ - int first; + OPJ_UINT32 layno; + /** 0 if the first packet TODO MSD xhange to opj_bool*/ + int first; /** progression order change information */ opj_poc_t poc; /** number of components in the image */ - int numcomps; + OPJ_UINT32 numcomps; /** Components*/ opj_pi_comp_t *comps; - int tx0, ty0, tx1, ty1; - int x, y, dx, dy; + /** FIXME DOC*/ + OPJ_INT32 tx0, ty0, tx1, ty1; + /** FIXME DOC*/ + OPJ_INT32 x, y; + /** FIXME DOC*/ + OPJ_UINT32 dx, dy; } opj_pi_iterator_t; /** @name Exported functions */ /*@{*/ /* ----------------------------------------------------------------------- */ -/** -Create a packet iterator for Encoder -@param image Raw image for which the packets will be listed -@param cp Coding parameters -@param tileno Number that identifies the tile for which to list the packets -@param t2_mode If == 0 In Threshold calculation ,If == 1 Final pass -@return Returns a packet iterator that points to the first packet of the tile -@see pi_destroy -*/ -opj_pi_iterator_t *pi_initialise_encode(opj_image_t *image, opj_cp_t *cp, int tileno,J2K_T2_MODE t2_mode); - /** * Creates a packet iterator for encoding. * @@ -121,10 +114,10 @@ opj_pi_iterator_t *pi_initialise_encode(opj_image_t *image, opj_cp_t *cp, int ti * * @return a list of packet iterator that points to the first packet of the tile (not true). */ -opj_pi_iterator_t *pi_initialise_encode_v2( const struct opj_image *image, - struct opj_cp_v2 *cp, - OPJ_UINT32 tileno, - J2K_T2_MODE t2_mode); +opj_pi_iterator_t *opj_pi_initialise_encode(const opj_image_t *image, + opj_cp_v2_t *cp, + OPJ_UINT32 tileno, + J2K_T2_MODE t2_mode); /** * Updates the encoding parameters of the codec. @@ -133,23 +126,9 @@ opj_pi_iterator_t *pi_initialise_encode_v2( const struct opj_image *image, * @param p_cp the coding parameters. * @param p_tile_no index of the tile being encoded. */ -void pi_update_encoding_parameters( const struct opj_image *p_image, - struct opj_cp_v2 *p_cp, - OPJ_UINT32 p_tile_no ); - -/** -Modify the packet iterator for enabling tile part generation -@param pi Handle to the packet iterator generated in pi_initialise_encode -@param cp Coding parameters -@param tileno Number that identifies the tile for which to list the packets -@param pino Iterator index for pi -@param tpnum Tile part number of the current tile -@param tppos The position of the tile part flag in the progression order -@param t2_mode If == 0 In Threshold calculation ,If == 1 Final pass -@param cur_totnum_tp The total number of tile parts in the current tile -@return Returns true if an error is detected -*/ -opj_bool pi_create_encode(opj_pi_iterator_t *pi, opj_cp_t *cp,int tileno, int pino,int tpnum, int tppos, J2K_T2_MODE t2_mode,int cur_totnum_tp); +void opj_pi_update_encoding_parameters( const opj_image_t *p_image, + opj_cp_v2_t *p_cp, + OPJ_UINT32 p_tile_no ); /** Modify the packet iterator for enabling tile part generation @@ -161,17 +140,13 @@ Modify the packet iterator for enabling tile part generation @param tppos The position of the tile part flag in the progression order @param t2_mode FIXME DOC */ -void pi_create_encode_v2( opj_pi_iterator_t *pi, struct opj_cp_v2 *cp,OPJ_UINT32 tileno, OPJ_UINT32 pino,OPJ_UINT32 tpnum, OPJ_INT32 tppos, J2K_T2_MODE t2_mode); - -/** -Create a packet iterator for Decoder -@param image Raw image for which the packets will be listed -@param cp Coding parameters -@param tileno Number that identifies the tile for which to list the packets -@return Returns a packet iterator that points to the first packet of the tile -@see pi_destroy -*/ -opj_pi_iterator_t *pi_create_decode(opj_image_t * image, opj_cp_t * cp, int tileno); +void opj_pi_create_encode( opj_pi_iterator_t *pi, + opj_cp_v2_t *cp, + OPJ_UINT32 tileno, + OPJ_UINT32 pino, + OPJ_UINT32 tpnum, + OPJ_INT32 tppos, + J2K_T2_MODE t2_mode); /** Create a packet iterator for Decoder @@ -179,35 +154,26 @@ Create a packet iterator for Decoder @param cp Coding parameters @param tileno Number that identifies the tile for which to list the packets @return Returns a packet iterator that points to the first packet of the tile -@see pi_destroy +@see opj_pi_destroy */ -opj_pi_iterator_t *pi_create_decode_v2(struct opj_image * image, struct opj_cp_v2 * cp, OPJ_UINT32 tileno); - -/** -Destroy a packet iterator -@param pi Previously created packet iterator -@param cp Coding parameters -@param tileno Number that identifies the tile for which the packets were listed -@see pi_create -*/ -void pi_destroy(opj_pi_iterator_t *pi, opj_cp_t *cp, int tileno); - +opj_pi_iterator_t *opj_pi_create_decode(opj_image_t * image, + opj_cp_v2_t * cp, + OPJ_UINT32 tileno); /** * Destroys a packet iterator array. * * @param p_pi the packet iterator array to destroy. * @param p_nb_elements the number of elements in the array. */ -void pi_destroy_v2( - opj_pi_iterator_t *p_pi, - OPJ_UINT32 p_nb_elements); +void opj_pi_destroy(opj_pi_iterator_t *p_pi, + OPJ_UINT32 p_nb_elements); /** Modify the packet iterator to point to the next packet @param pi Packet iterator to modify @return Returns false if pi pointed to the last packet or else returns true */ -opj_bool pi_next(opj_pi_iterator_t * pi); +opj_bool opj_pi_next(opj_pi_iterator_t * pi); /* ----------------------------------------------------------------------- */ /*@}*/