X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=libopenjpeg%2Ft2.h;h=55cac98f741fc77276337b7a7e1a65eb23fa0c06;hb=d44375aece5dea2af83ffb8c9de4ade2ad35c593;hp=62b1a102b1c0315fdc57b80d0ef940aa0f74a400;hpb=ed3aec55fdc1a598981823d7e40d078d5b08610b;p=openjpeg.git diff --git a/libopenjpeg/t2.h b/libopenjpeg/t2.h index 62b1a102..55cac98f 100644 --- a/libopenjpeg/t2.h +++ b/libopenjpeg/t2.h @@ -52,6 +52,19 @@ typedef struct opj_t2 { opj_cp_t *cp; } opj_t2_t; +/** +Tier-2 coding +*/ +typedef struct opj_t2_v2 { + /** codec context */ + opj_common_ptr cinfo; + + /** Encoding: pointer to the src image. Decoding: pointer to the dst image. */ + opj_image_header_t *image; + /** pointer to the image coding parameters */ + opj_cp_v2_t *cp; +} opj_t2_v2_t; + /** @name Exported functions */ /*@{*/ /* ----------------------------------------------------------------------- */ @@ -64,9 +77,24 @@ Encode the packets of a tile to a destination buffer @param maxlayers maximum number of layers @param dest the destination buffer @param len the length of the destination buffer -@param image_info structure to create an index file +@param cstr_info Codestream information structure +@param tpnum Tile part number of the current tile +@param tppos The position of the tile part flag in the progression order +@param pino +@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 */ -int t2_encode_packets(opj_t2_t* t2, int tileno, opj_tcd_tile_t *tile, int maxlayers, unsigned char *dest, int len, opj_image_info_t *image_info); +int t2_encode_packets(opj_t2_t* t2,int tileno, opj_tcd_tile_t *tile, int maxlayers, unsigned char *dest, int len, opj_codestream_info_t *cstr_info,int tpnum, int tppos,int pino,J2K_T2_MODE t2_mode,int cur_totnum_tp); +/** +Decode the packets of a tile from a source buffer +@param t2 T2 handle +@param src the source buffer +@param len length of the source buffer +@param tileno number that identifies the tile for which to decode the packets +@param tile tile for which to decode the packets +@param cstr_info Codestream information structure + */ +int t2_decode_packets(opj_t2_t *t2, unsigned char *src, int len, int tileno, opj_tcd_tile_t *tile, opj_codestream_info_t *cstr_info); /** Decode the packets of a tile from a source buffer @@ -76,7 +104,21 @@ Decode the packets of a tile from a source buffer @param tileno number that identifies the tile for which to decode the packets @param tile tile for which to decode the packets */ -int t2_decode_packets(opj_t2_t *t2, unsigned char *src, int len, int tileno, opj_tcd_tile_t *tile); +opj_bool t2_decode_packets_v2( opj_t2_v2_t *t2, + OPJ_UINT32 tileno, + struct opj_tcd_tile *tile, + OPJ_BYTE *src, OPJ_UINT32 * p_data_read, + OPJ_UINT32 len, + struct opj_codestream_info_v2 *cstr_info); + +/** + * Creates a Tier 2 handle + * + * @param p_image Source or destination image + * @param p_cp Image coding parameters. + * @return a new T2 handle if successful, NULL otherwise. +*/ +opj_t2_v2_t* t2_create_v2(struct opj_image_header *p_image, opj_cp_v2_t *p_cp); /** Create a T2 handle @@ -92,6 +134,12 @@ Destroy a T2 handle */ void t2_destroy(opj_t2_t *t2); +/** +Destroy a T2 handle +@param t2 T2 handle to destroy +*/ +void t2_destroy_v2(opj_t2_v2_t *t2); + /* ----------------------------------------------------------------------- */ /*@}*/