OpenJPEG  2.2.0
Data Structures | Typedefs
TCD - Implementation of a tile coder/decoder

Data Structures

struct  opj_tcd_pass
 FIXME DOC. More...
 
struct  opj_tcd_layer
 FIXME DOC. More...
 
struct  opj_tcd_cblk_enc
 FIXME DOC. More...
 
struct  opj_tcd_seg_data_chunk
 Chunk of codestream data that is part of a code block. More...
 
struct  opj_tcd_seg
 Segment of a code-block. More...
 
struct  opj_tcd_cblk_dec
 Code-block for decoding. More...
 
struct  opj_tcd_precinct
 Precinct structure. More...
 
struct  opj_tcd_band
 Sub-band structure. More...
 
struct  opj_tcd_resolution
 Tile-component resolution structure. More...
 
struct  opj_tcd_tilecomp
 Tile-component structure. More...
 
struct  opj_tcd_tile
 FIXME DOC. More...
 
struct  opj_tcd_image
 FIXME DOC. More...
 
struct  opj_tcd
 Tile coder/decoder. More...
 

Typedefs

typedef struct opj_tcd_pass opj_tcd_pass_t
 FIXME DOC. More...
 
typedef struct opj_tcd_layer opj_tcd_layer_t
 FIXME DOC. More...
 
typedef struct opj_tcd_cblk_enc opj_tcd_cblk_enc_t
 FIXME DOC. More...
 
typedef struct opj_tcd_seg_data_chunk opj_tcd_seg_data_chunk_t
 Chunk of codestream data that is part of a code block. More...
 
typedef struct opj_tcd_seg opj_tcd_seg_t
 Segment of a code-block. More...
 
typedef struct opj_tcd_cblk_dec opj_tcd_cblk_dec_t
 Code-block for decoding. More...
 
typedef struct opj_tcd_precinct opj_tcd_precinct_t
 Precinct structure. More...
 
typedef struct opj_tcd_band opj_tcd_band_t
 Sub-band structure. More...
 
typedef struct opj_tcd_resolution opj_tcd_resolution_t
 Tile-component resolution structure. More...
 
typedef struct opj_tcd_tilecomp opj_tcd_tilecomp_t
 Tile-component structure. More...
 
typedef struct opj_tcd_tile opj_tcd_tile_t
 FIXME DOC. More...
 
typedef struct opj_tcd_image opj_tcd_image_t
 FIXME DOC. More...
 
typedef struct opj_tcd opj_tcd_t
 Tile coder/decoder. More...
 

Exported functions

opj_tcd_topj_tcd_create (OPJ_BOOL p_is_decoder)
 Dump the content of a tcd structure. More...
 
void opj_tcd_destroy (opj_tcd_t *tcd)
 Destroy a previously created TCD handle. More...
 
OPJ_BOOL opj_tcd_init (opj_tcd_t *p_tcd, opj_image_t *p_image, opj_cp_t *p_cp, opj_thread_pool_t *p_tp)
 Initialize the tile coder and may reuse some memory. More...
 
OPJ_BOOL opj_tcd_init_decode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, opj_event_mgr_t *p_manager)
 Allocates memory for decoding a specific tile. More...
 
void opj_tcd_makelayer_fixed (opj_tcd_t *tcd, OPJ_UINT32 layno, OPJ_UINT32 final)
 
void opj_tcd_rateallocate_fixed (opj_tcd_t *tcd)
 
void opj_tcd_makelayer (opj_tcd_t *tcd, OPJ_UINT32 layno, OPJ_FLOAT64 thresh, OPJ_UINT32 final)
 
OPJ_BOOL opj_tcd_rateallocate (opj_tcd_t *tcd, OPJ_BYTE *dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 len, opj_codestream_info_t *cstr_info)
 
OPJ_UINT32 opj_tcd_get_decoded_tile_size (opj_tcd_t *p_tcd)
 Gets the maximum tile size that will be taken by the tile once decoded. More...
 
OPJ_BOOL opj_tcd_encode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, OPJ_BYTE *p_dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_len, struct opj_codestream_info *p_cstr_info)
 Encodes a tile from the raw image into the given buffer. More...
 
OPJ_BOOL opj_tcd_decode_tile (opj_tcd_t *tcd, OPJ_BYTE *src, OPJ_UINT32 len, OPJ_UINT32 tileno, opj_codestream_index_t *cstr_info, opj_event_mgr_t *manager)
 Decode a tile from a buffer into a raw image. More...
 
OPJ_BOOL opj_tcd_update_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_dest, OPJ_UINT32 p_dest_length)
 Copies tile data from the system onto the given memory block. More...
 
OPJ_UINT32 opj_tcd_get_encoded_tile_size (opj_tcd_t *p_tcd)
 
OPJ_BOOL opj_tcd_init_encode_tile (opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no, opj_event_mgr_t *p_manager)
 Initialize the tile coder and may reuse some meory. More...
 
OPJ_BOOL opj_tcd_copy_tile_data (opj_tcd_t *p_tcd, OPJ_BYTE *p_src, OPJ_UINT32 p_src_length)
 Copies tile data from the given memory block onto the system. More...
 
OPJ_BOOL opj_alloc_tile_component_data (opj_tcd_tilecomp_t *l_tilec)
 Allocates tile component data. More...
 
OPJ_BOOL opj_tcd_is_band_empty (opj_tcd_band_t *band)
 Returns whether a sub-band is empty (i.e. More...
 
void opj_tcd_reinit_segment (opj_tcd_seg_t *seg)
 Reinitialize a segment. More...
 

Detailed Description

Typedef Documentation

typedef struct opj_tcd_band opj_tcd_band_t

Sub-band structure.

Code-block for decoding.

FIXME DOC.

FIXME DOC.

FIXME DOC.

typedef struct opj_tcd_pass opj_tcd_pass_t

FIXME DOC.

Precinct structure.

Tile-component resolution structure.

Chunk of codestream data that is part of a code block.

typedef struct opj_tcd_seg opj_tcd_seg_t

Segment of a code-block.

A segment represent a number of consecutive coding passes, without termination of MQC or RAW between them.

typedef struct opj_tcd opj_tcd_t

Tile coder/decoder.

typedef struct opj_tcd_tile opj_tcd_tile_t

FIXME DOC.

Tile-component structure.

Function Documentation

OPJ_BOOL opj_alloc_tile_component_data ( opj_tcd_tilecomp_t l_tilec)
OPJ_BOOL opj_tcd_copy_tile_data ( opj_tcd_t p_tcd,
OPJ_BYTE p_src,
OPJ_UINT32  p_src_length 
)
opj_tcd_t* opj_tcd_create ( OPJ_BOOL  p_is_decoder)

Dump the content of a tcd structure.

Create a new TCD handle

Parameters
p_is_decoderFIXME DOC
Returns
Returns a new TCD handle if successful returns NULL otherwise

Dump the content of a tcd structure.

References opj_tcd::m_is_decoder, opj_calloc(), opj_free(), and opj_tcd::tcd_image.

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), and opj_j2k_create_tcd().

OPJ_BOOL opj_tcd_decode_tile ( opj_tcd_t tcd,
OPJ_BYTE src,
OPJ_UINT32  len,
OPJ_UINT32  tileno,
opj_codestream_index_t cstr_info,
opj_event_mgr_t manager 
)

Decode a tile from a buffer into a raw image.

Parameters
tcdTCD handle
srcSource buffer
lenLength of source buffer
tilenoNumber that identifies one of the tiles to be decoded
cstr_infoFIXME DOC
managerthe event manager.

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd_tilecomp::numresolutions, OPJ_FALSE, opj_malloc(), opj_tcd_dc_level_shift_decode(), opj_tcd_dwt_decode(), opj_tcd_mct_decode(), opj_tcd_t1_decode(), opj_tcd_t2_decode(), OPJ_TRUE, opj_tcd_resolution::ph, opj_tccp::prch, opj_tccp::prcw, opj_tcd_resolution::pw, opj_tcd_tilecomp::resolutions, opj_tcp::tccps, opj_tcd::tcd_image, opj_tcd::tcd_tileno, tcp, opj_tcd::tcp, opj_cp::tcps, and opj_tcd_image::tiles.

Referenced by opj_j2k_decode_tile().

void opj_tcd_destroy ( opj_tcd_t tcd)

Destroy a previously created TCD handle.

Parameters
tcdTCD handle to destroy

References opj_free(), opj_tcd_free_tile(), and opj_tcd::tcd_image.

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), opj_j2k_create_tcd(), opj_j2k_destroy(), and opj_j2k_end_encoding().

OPJ_BOOL opj_tcd_encode_tile ( opj_tcd_t p_tcd,
OPJ_UINT32  p_tile_no,
OPJ_BYTE p_dest,
OPJ_UINT32 p_data_written,
OPJ_UINT32  p_len,
struct opj_codestream_info p_cstr_info 
)

Encodes a tile from the raw image into the given buffer.

Parameters
p_tcdTile Coder handle
p_tile_noIndex of the tile to encode.
p_destDestination buffer
p_data_writtenpointer to an int that is incremented by the number of bytes really written on p_dest
p_lenMaximum length of the destination buffer
p_cstr_infoCodestream information structure
Returns
true if the coding is successful.

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd::cur_tp_num, opj_codestream_info::index_write, opj_codestream_info::numcomps, opj_codestream_info::numlayers, opj_tcd_tilecomp::numresolutions, opj_calloc(), OPJ_FALSE, opj_tcd_dc_level_shift_encode(), opj_tcd_dwt_encode(), opj_tcd_mct_encode(), opj_tcd_rate_allocate_encode(), opj_tcd_t1_encode(), opj_tcd_t2_encode(), OPJ_TRUE, opj_tile_info::packet, opj_tile_info::pdx, opj_tile_info::pdy, opj_tcd_resolution::ph, opj_tile_info::ph, opj_tccp::prch, opj_tccp::prcw, opj_tcd_resolution::pw, opj_tile_info::pw, opj_tcd_tilecomp::resolutions, opj_tcp::tccps, opj_tcd::tcd_image, opj_tcd::tcd_tileno, opj_tcd::tcp, opj_cp::tcps, opj_codestream_info::tile, and opj_tcd_image::tiles.

Referenced by opj_j2k_write_sod().

OPJ_UINT32 opj_tcd_get_decoded_tile_size ( opj_tcd_t p_tcd)
OPJ_UINT32 opj_tcd_get_encoded_tile_size ( opj_tcd_t p_tcd)
OPJ_BOOL opj_tcd_init ( opj_tcd_t p_tcd,
opj_image_t p_image,
opj_cp_t p_cp,
opj_thread_pool_t p_tp 
)

Initialize the tile coder and may reuse some memory.

Parameters
p_tcdTCD handle.
p_imageraw image.
p_cpcoding parameters.
p_tpthread pool
Returns
true if the encoding values could be set (false otherwise).

References opj_tcd_tile::comps, opj_tcd::cp, opj_tcd::image, opj_cp::m_enc, opj_cp::m_specific_param, opj_encoding_param::m_tp_pos, opj_tcd_tile::numcomps, opj_image::numcomps, opj_calloc(), OPJ_FALSE, OPJ_TRUE, opj_tcd::tcd_image, opj_tcd::thread_pool, opj_tcd_image::tiles, and opj_tcd::tp_pos.

Referenced by opj_j2k_copy_default_tcp_and_create_tcd(), and opj_j2k_create_tcd().

OPJ_BOOL opj_tcd_init_decode_tile ( opj_tcd_t p_tcd,
OPJ_UINT32  p_tile_no,
opj_event_mgr_t p_manager 
)

Allocates memory for decoding a specific tile.

Parameters
p_tcdthe tile decoder.
p_tile_nothe index of the tile received in sequence. This not necessarily lead to the tile at index p_tile_no.
p_managerthe event manager.
Returns
true if the remaining data is sufficient.

References OPJ_FALSE, and opj_tcd_init_tile().

Referenced by opj_j2k_read_tile_header().

OPJ_BOOL opj_tcd_init_encode_tile ( opj_tcd_t p_tcd,
OPJ_UINT32  p_tile_no,
opj_event_mgr_t p_manager 
)

Initialize the tile coder and may reuse some meory.

Parameters
p_tcdTCD handle.
p_tile_nocurrent tile index to encode.
p_managerthe event manager.
Returns
true if the encoding values could be set (false otherwise).

References opj_tcd_init_tile(), and OPJ_TRUE.

Referenced by opj_j2k_pre_write_tile().

OPJ_BOOL opj_tcd_is_band_empty ( opj_tcd_band_t band)

Returns whether a sub-band is empty (i.e.

whether it has a null area)

Parameters
bandSub-band handle.
Returns
OPJ_TRUE whether the sub-band is empty.

References opj_tcd_band::x0, opj_tcd_band::x1, opj_tcd_band::y0, and opj_tcd_band::y1.

Referenced by opj_t1_encode_cblks(), opj_t2_encode_packet(), opj_t2_read_packet_header(), opj_tcd_init_tile(), opj_tcd_makelayer(), opj_tcd_makelayer_fixed(), and opj_tcd_rateallocate().

void opj_tcd_makelayer ( opj_tcd_t tcd,
OPJ_UINT32  layno,
OPJ_FLOAT64  thresh,
OPJ_UINT32  final 
)
void opj_tcd_makelayer_fixed ( opj_tcd_t tcd,
OPJ_UINT32  layno,
OPJ_UINT32  final 
)
OPJ_BOOL opj_tcd_rateallocate ( opj_tcd_t tcd,
OPJ_BYTE dest,
OPJ_UINT32 p_data_written,
OPJ_UINT32  len,
opj_codestream_info_t cstr_info 
)
void opj_tcd_rateallocate_fixed ( opj_tcd_t tcd)
void opj_tcd_reinit_segment ( opj_tcd_seg_t seg)

Reinitialize a segment.

Referenced by opj_t2_init_seg(), and opj_tcd_code_block_dec_allocate().

OPJ_BOOL opj_tcd_update_tile_data ( opj_tcd_t p_tcd,
OPJ_BYTE p_dest,
OPJ_UINT32  p_dest_length 
)