OpenJPEG
2.5.0
|
Implementation of a packet iterator (PI) More...
Go to the source code of this file.
Data Structures | |
struct | opj_pi_resolution |
FIXME DOC. More... | |
struct | opj_pi_comp |
FIXME DOC. More... | |
struct | opj_pi_iterator |
Packet iterator. More... | |
Typedefs | |
typedef struct opj_pi_resolution | opj_pi_resolution_t |
FIXME DOC. More... | |
typedef struct opj_pi_comp | opj_pi_comp_t |
FIXME DOC. More... | |
typedef struct opj_pi_iterator | opj_pi_iterator_t |
Packet iterator. More... | |
Functions | |
Exported functions | |
opj_pi_iterator_t * | opj_pi_initialise_encode (const opj_image_t *image, opj_cp_t *cp, OPJ_UINT32 tileno, J2K_T2_MODE t2_mode, opj_event_mgr_t *manager) |
Creates a packet iterator for encoding. More... | |
void | opj_pi_update_encoding_parameters (const opj_image_t *p_image, opj_cp_t *p_cp, OPJ_UINT32 p_tile_no) |
Updates the encoding parameters of the codec. More... | |
void | opj_pi_create_encode (opj_pi_iterator_t *pi, opj_cp_t *cp, OPJ_UINT32 tileno, OPJ_UINT32 pino, OPJ_UINT32 tpnum, OPJ_INT32 tppos, J2K_T2_MODE t2_mode) |
Modify the packet iterator for enabling tile part generation. More... | |
opj_pi_iterator_t * | opj_pi_create_decode (opj_image_t *image, opj_cp_t *cp, OPJ_UINT32 tileno, opj_event_mgr_t *manager) |
Create a packet iterator for Decoder. More... | |
void | opj_pi_destroy (opj_pi_iterator_t *p_pi, OPJ_UINT32 p_nb_elements) |
Destroys a packet iterator array. More... | |
OPJ_BOOL | opj_pi_next (opj_pi_iterator_t *pi) |
Modify the packet iterator to point to the next packet. More... | |
OPJ_UINT32 | opj_get_encoding_packet_count (const opj_image_t *p_image, const opj_cp_t *p_cp, OPJ_UINT32 p_tile_no) |
Return the number of packets in the tile. More... | |
Implementation of a packet iterator (PI)
The functions in PI.C have for goal to realize a packet iterator that permits to get the next packet following the progression order and change of it. The functions in PI.C are used by some function in T2.C.
typedef struct opj_pi_comp opj_pi_comp_t |
FIXME DOC.
typedef struct opj_pi_iterator opj_pi_iterator_t |
Packet iterator.
typedef struct opj_pi_resolution opj_pi_resolution_t |
FIXME DOC.
OPJ_UINT32 opj_get_encoding_packet_count | ( | const opj_image_t * | p_image, |
const opj_cp_t * | p_cp, | ||
OPJ_UINT32 | p_tile_no | ||
) |
Return the number of packets in the tile.
image | the image being encoded. |
cp | Coding parameters |
tileno | Number that identifies the tile. |
References opj_image::numcomps, opj_tcp::numlayers, opj_get_all_encoding_parameters(), opj_cp::tcps, and opj_cp::th.
Referenced by opj_j2k_get_specific_header_sizes(), and opj_t2_encode_packets().
opj_pi_iterator_t* opj_pi_create_decode | ( | opj_image_t * | image, |
opj_cp_t * | cp, | ||
OPJ_UINT32 | tileno, | ||
opj_event_mgr_t * | manager | ||
) |
Create a packet iterator for Decoder.
image | Raw image for which the packets will be listed |
cp | Coding parameters |
tileno | Number that identifies the tile for which to list the packets |
manager | Event manager |
References opj_pi_iterator::comps, opj_image::comps, opj_pi_comp::dx, opj_image_comp::dx, opj_pi_comp::dy, opj_image_comp::dy, opj_pi_iterator::include, opj_pi_iterator::include_size, opj_image::numcomps, opj_tcp::numlayers, opj_tcp::numpocs, opj_pi_comp::numresolutions, opj_calloc(), opj_free(), opj_get_all_encoding_parameters(), OPJ_J2K_MAXRLVLS, opj_malloc(), opj_pi_create(), opj_pi_destroy(), opj_pi_update_decode_not_poc(), opj_pi_update_decode_poc(), opj_pi_resolution::pdx, opj_pi_resolution::pdy, opj_pi_resolution::ph, opj_tcp::POC, opj_pi_resolution::pw, opj_pi_comp::resolutions, opj_pi_iterator::step_c, opj_pi_iterator::step_l, opj_pi_iterator::step_p, opj_pi_iterator::step_r, opj_tcp::tccps, opj_cp::tcps, opj_cp::th, opj_pi_iterator::tx0, opj_pi_iterator::tx1, opj_pi_iterator::ty0, and opj_pi_iterator::ty1.
Referenced by opj_t2_decode_packets().
void opj_pi_create_encode | ( | opj_pi_iterator_t * | pi, |
opj_cp_t * | cp, | ||
OPJ_UINT32 | tileno, | ||
OPJ_UINT32 | pino, | ||
OPJ_UINT32 | tpnum, | ||
OPJ_INT32 | tppos, | ||
J2K_T2_MODE | t2_mode | ||
) |
Modify the packet iterator for enabling tile part generation.
pi | Handle to the packet iterator generated in pi_initialise_encode |
cp | Coding parameters |
tileno | Number that identifies the tile for which to list the packets |
pino | FIXME DOC |
tpnum | Tile part number of the current tile |
tppos | The position of the tile part flag in the progression order |
t2_mode | FIXME DOC |
References opj_poc::compno0, opj_poc::compno1, FINAL_PASS, opj_pi_iterator::first, opj_poc::layno0, opj_poc::layno1, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_on, OPJ_IS_CINEMA, OPJ_IS_IMF, opj_j2k_convert_progression_order(), OPJ_LRCP, opj_pi_check_next_level(), OPJ_RLCP, opj_pi_iterator::poc, opj_tcp::pocs, opj_poc::precno0, opj_poc::precno1, opj_poc::prg, opj_poc::resno0, opj_poc::resno1, opj_cp::rsiz, tcp, opj_cp::tcps, opj_poc::tx0, opj_pi_iterator::tx1, opj_poc::tx1, opj_poc::ty0, opj_pi_iterator::ty1, and opj_poc::ty1.
Referenced by opj_t2_encode_packets().
void opj_pi_destroy | ( | opj_pi_iterator_t * | p_pi, |
OPJ_UINT32 | p_nb_elements | ||
) |
Destroys a packet iterator array.
p_pi | the packet iterator array to destroy. |
p_nb_elements | the number of elements in the array. |
References opj_pi_iterator::comps, opj_pi_iterator::include, opj_pi_iterator::numcomps, opj_free(), and opj_pi_comp::resolutions.
Referenced by opj_pi_create(), opj_pi_create_decode(), opj_pi_initialise_encode(), opj_t2_decode_packets(), and opj_t2_encode_packets().
opj_pi_iterator_t* opj_pi_initialise_encode | ( | const opj_image_t * | image, |
opj_cp_t * | cp, | ||
OPJ_UINT32 | tileno, | ||
J2K_T2_MODE | t2_mode, | ||
opj_event_mgr_t * | manager | ||
) |
Creates a packet iterator for encoding.
image | the image being encoded. |
cp | the coding parameters. |
tileno | index of the tile being encoded. |
t2_mode | the type of pass for generating the packet iterator |
manager | Event manager |
References opj_pi_iterator::comps, opj_image::comps, opj_pi_comp::dx, opj_pi_iterator::dx, opj_image_comp::dx, opj_pi_comp::dy, opj_pi_iterator::dy, opj_image_comp::dy, FINAL_PASS, opj_pi_iterator::include, opj_pi_iterator::include_size, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_on, opj_image::numcomps, opj_tcp::numlayers, opj_tcp::numpocs, opj_pi_comp::numresolutions, opj_calloc(), opj_free(), opj_get_all_encoding_parameters(), OPJ_IS_CINEMA, OPJ_J2K_MAXRLVLS, opj_malloc(), opj_pi_create(), opj_pi_destroy(), opj_pi_update_encode_not_poc(), opj_pi_update_encode_poc_and_final(), opj_pi_resolution::pdx, opj_pi_resolution::pdy, opj_pi_resolution::ph, opj_tcp::POC, opj_pi_resolution::pw, opj_pi_comp::resolutions, opj_cp::rsiz, opj_pi_iterator::step_c, opj_pi_iterator::step_l, opj_pi_iterator::step_p, opj_pi_iterator::step_r, opj_tcp::tccps, opj_cp::tcps, opj_cp::th, opj_pi_iterator::tp_on, opj_pi_iterator::tx0, opj_pi_iterator::tx1, opj_pi_iterator::ty0, and opj_pi_iterator::ty1.
Referenced by opj_t2_encode_packets().
OPJ_BOOL opj_pi_next | ( | opj_pi_iterator_t * | pi | ) |
Modify the packet iterator to point to the next packet.
pi | Packet iterator to modify |
References OPJ_CPRL, OPJ_FALSE, OPJ_LRCP, OPJ_PCRL, opj_pi_next_cprl(), opj_pi_next_lrcp(), opj_pi_next_pcrl(), opj_pi_next_rlcp(), opj_pi_next_rpcl(), OPJ_PROG_UNKNOWN, OPJ_RLCP, OPJ_RPCL, opj_pi_iterator::poc, and opj_poc::prg.
Referenced by opj_t2_decode_packets(), and opj_t2_encode_packets().
void opj_pi_update_encoding_parameters | ( | const opj_image_t * | p_image, |
opj_cp_t * | p_cp, | ||
OPJ_UINT32 | p_tile_no | ||
) |
Updates the encoding parameters of the codec.
p_image | the image being encoded. |
p_cp | the coding parameters. |
p_tile_no | index of the tile being encoded. |
References opj_image::numcomps, opj_get_encoding_parameters(), opj_pi_update_encode_not_poc(), opj_pi_update_encode_poc_and_final(), opj_tcp::POC, opj_cp::tcps, and opj_cp::th.
Referenced by opj_j2k_calculate_tp().