OpenJPEG  2.5.0
t2.c File Reference
#include "opj_includes.h"
#include "opj_common.h"

Local static functions

#define JAS_FPRINTF   opj_null_jas_fprintf
 
static void opj_t2_putcommacode (opj_bio_t *bio, OPJ_INT32 n)
 
static OPJ_UINT32 opj_t2_getcommacode (opj_bio_t *bio)
 
static void opj_t2_putnumpasses (opj_bio_t *bio, OPJ_UINT32 n)
 Variable length code for signalling delta Zil (truncation point) More...
 
static OPJ_UINT32 opj_t2_getnumpasses (opj_bio_t *bio)
 
static OPJ_BOOL opj_t2_encode_packet (OPJ_UINT32 tileno, opj_tcd_tile_t *tile, opj_tcp_t *tcp, opj_pi_iterator_t *pi, OPJ_BYTE *dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 len, opj_codestream_info_t *cstr_info, J2K_T2_MODE p_t2_mode, opj_event_mgr_t *p_manager)
 Encode a packet of a tile to a destination buffer. More...
 
static OPJ_BOOL opj_t2_decode_packet (opj_t2_t *t2, opj_tcd_tile_t *tile, opj_tcp_t *tcp, opj_pi_iterator_t *pi, OPJ_BYTE *src, OPJ_UINT32 *data_read, OPJ_UINT32 max_length, opj_packet_info_t *pack_info, opj_event_mgr_t *p_manager)
 Decode a packet of a tile from a source buffer. More...
 
static OPJ_BOOL opj_t2_skip_packet (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_tcp_t *p_tcp, opj_pi_iterator_t *p_pi, OPJ_BYTE *p_src, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *p_pack_info, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_t2_read_packet_header (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_tcp_t *p_tcp, opj_pi_iterator_t *p_pi, OPJ_BOOL *p_is_data_present, OPJ_BYTE *p_src_data, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *p_pack_info, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_t2_read_packet_data (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_pi_iterator_t *p_pi, OPJ_BYTE *p_src_data, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *pack_info, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_t2_skip_packet_data (opj_t2_t *p_t2, opj_tcd_tile_t *p_tile, opj_pi_iterator_t *p_pi, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_length, opj_packet_info_t *pack_info, opj_event_mgr_t *p_manager)
 
static OPJ_BOOL opj_t2_init_seg (opj_tcd_cblk_dec_t *cblk, OPJ_UINT32 index, OPJ_UINT32 cblksty, OPJ_UINT32 first)
 
OPJ_BOOL opj_t2_encode_packets (opj_t2_t *p_t2, OPJ_UINT32 p_tile_no, opj_tcd_tile_t *p_tile, OPJ_UINT32 p_maxlayers, OPJ_BYTE *p_dest, OPJ_UINT32 *p_data_written, OPJ_UINT32 p_max_len, opj_codestream_info_t *cstr_info, opj_tcd_marker_info_t *p_marker_info, OPJ_UINT32 p_tp_num, OPJ_INT32 p_tp_pos, OPJ_UINT32 p_pino, J2K_T2_MODE p_t2_mode, opj_event_mgr_t *p_manager)
 Encode the packets of a tile to a destination buffer. More...
 
static void opj_null_jas_fprintf (FILE *file, const char *format,...)
 
OPJ_BOOL opj_t2_decode_packets (opj_tcd_t *tcd, opj_t2_t *p_t2, OPJ_UINT32 p_tile_no, opj_tcd_tile_t *p_tile, OPJ_BYTE *p_src, OPJ_UINT32 *p_data_read, OPJ_UINT32 p_max_len, opj_codestream_index_t *p_cstr_index, opj_event_mgr_t *p_manager)
 Decode the packets of a tile from a source buffer. More...
 
opj_t2_topj_t2_create (opj_image_t *p_image, opj_cp_t *p_cp)
 Creates a Tier 2 handle. More...
 
void opj_t2_destroy (opj_t2_t *t2)
 Destroy a T2 handle. More...
 

Macro Definition Documentation

◆ JAS_FPRINTF

#define JAS_FPRINTF   opj_null_jas_fprintf

Function Documentation

◆ opj_null_jas_fprintf()

static void opj_null_jas_fprintf ( FILE *  file,
const char *  format,
  ... 
)
static

◆ opj_t2_create()

opj_t2_t* opj_t2_create ( opj_image_t p_image,
opj_cp_t p_cp 
)

Creates a Tier 2 handle.

Parameters
p_imageSource or destination image
p_cpImage coding parameters.
Returns
a new T2 handle if successful, NULL otherwise.

References opj_t2::cp, opj_t2::image, and opj_calloc().

Referenced by opj_tcd_rateallocate(), opj_tcd_t2_decode(), and opj_tcd_t2_encode().

◆ opj_t2_decode_packet()

static OPJ_BOOL opj_t2_decode_packet ( opj_t2_t t2,
opj_tcd_tile_t tile,
opj_tcp_t tcp,
opj_pi_iterator_t pi,
OPJ_BYTE src,
OPJ_UINT32 data_read,
OPJ_UINT32  max_length,
opj_packet_info_t pack_info,
opj_event_mgr_t p_manager 
)
static

Decode a packet of a tile from a source buffer.

Parameters
t2T2 handle
tileTile for which to write the packets
tcpTile coding parameters
piPacket identity
srcSource buffer
data_readFIXME DOC
max_lengthFIXME DOC
pack_infoPacket information
p_managerthe user event manager
Returns
FIXME DOC

References OPJ_FALSE, opj_t2_read_packet_data(), opj_t2_read_packet_header(), and OPJ_TRUE.

Referenced by opj_t2_decode_packets().

◆ opj_t2_decode_packets()

OPJ_BOOL opj_t2_decode_packets ( opj_tcd_t tcd,
opj_t2_t t2,
OPJ_UINT32  tileno,
opj_tcd_tile_t tile,
OPJ_BYTE src,
OPJ_UINT32 p_data_read,
OPJ_UINT32  len,
opj_codestream_index_t cstr_info,
opj_event_mgr_t p_manager 
)

◆ opj_t2_destroy()

void opj_t2_destroy ( opj_t2_t t2)

Destroy a T2 handle.

Parameters
t2T2 handle to destroy

References opj_free().

Referenced by opj_tcd_rateallocate(), opj_tcd_t2_decode(), and opj_tcd_t2_encode().

◆ opj_t2_encode_packet()

static OPJ_BOOL opj_t2_encode_packet ( OPJ_UINT32  tileno,
opj_tcd_tile_t tile,
opj_tcp_t tcp,
opj_pi_iterator_t pi,
OPJ_BYTE dest,
OPJ_UINT32 p_data_written,
OPJ_UINT32  len,
opj_codestream_info_t cstr_info,
J2K_T2_MODE  p_t2_mode,
opj_event_mgr_t p_manager 
)
static

Encode a packet of a tile to a destination buffer.

Parameters
tilenoNumber of the tile encoded
tileTile for which to write the packets
tcpTile coding parameters
piPacket identity
destDestination buffer
p_data_writtenFIXME DOC
lenLength of the destination buffer
cstr_infoCodestream information structure
p_t2_modeIf == THRESH_CALC In Threshold calculation ,If == FINAL_PASS Final pass
p_managerthe user event manager
Returns

References opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_pi_iterator::compno, opj_tcd_tile::comps, opj_tcd_precinct::cw, opj_codestream_info::D_max, opj_tcd_layer::data, opj_tcd_layer::disto, opj_packet_info::disto, opj_tcd_precinct::enc, opj_packet_info::end_ph_pos, EVT_ERROR, FINAL_PASS, opj_tcd_precinct::imsbtree, opj_tcd_precinct::incltree, opj_codestream_info::index_write, J2K_CP_CSTY_EPH, J2K_CP_CSTY_SOP, opj_tcd_cblk_enc::layers, opj_pi_iterator::layno, opj_tcd_pass::len, opj_tcd_layer::len, opj_tcd_resolution::numbands, opj_tcd_cblk_enc::numbps, opj_tcd_band::numbps, opj_tcd_cblk_enc::numlenbits, opj_tcd_layer::numpasses, opj_tcd_cblk_enc::numpasses, opj_bio_create(), opj_bio_destroy(), opj_bio_flush(), opj_bio_init_enc(), opj_bio_numbytes(), opj_bio_write(), opj_event_msg(), OPJ_FALSE, opj_int_floorlog2(), opj_int_max(), opj_t2_putcommacode(), opj_t2_putnumpasses(), opj_tcd_is_band_empty(), opj_tgt_encode(), opj_tgt_reset(), opj_tgt_setvalue(), OPJ_TRUE, opj_tile_info::packet, opj_tcd_tile::packno, opj_codestream_info::packno, opj_tcd_cblk_enc::passes, opj_tcd_resolution::ph, opj_tcd_band::precincts, opj_pi_iterator::precno, opj_tcd_resolution::pw, opj_pi_iterator::resno, opj_tcd_tilecomp::resolutions, tcp, opj_tcd_pass::term, and opj_codestream_info::tile.

Referenced by opj_t2_encode_packets().

◆ opj_t2_encode_packets()

OPJ_BOOL opj_t2_encode_packets ( opj_t2_t t2,
OPJ_UINT32  tileno,
opj_tcd_tile_t tile,
OPJ_UINT32  maxlayers,
OPJ_BYTE dest,
OPJ_UINT32 p_data_written,
OPJ_UINT32  len,
opj_codestream_info_t cstr_info,
opj_tcd_marker_info_t p_marker_info,
OPJ_UINT32  tpnum,
OPJ_INT32  tppos,
OPJ_UINT32  pino,
J2K_T2_MODE  t2_mode,
opj_event_mgr_t p_manager 
)

Encode the packets of a tile to a destination buffer.

Parameters
t2T2 handle
tilenonumber of the tile encoded
tilethe tile for which to write the packets
maxlayersmaximum number of layers
destthe destination buffer
p_data_writtenFIXME DOC
lenthe length of the destination buffer
cstr_infoCodestream information structure
p_marker_infoMarker information structure
tpnumTile part number of the current tile
tpposThe position of the tile part flag in the progression order
pinoFIXME DOC
t2_modeIf == THRESH_CALC In Threshold calculation ,If == FINAL_PASS Final pass
p_managerthe user event manager

References opj_t2::cp, opj_tile_info::end_header, opj_packet_info::end_ph_pos, opj_packet_info::end_pos, opj_t2::image, opj_codestream_info::index_write, opj_pi_iterator::layno, opj_cp::m_enc, opj_encoding_param::m_max_comp_size, opj_cp::m_specific_param, opj_encoding_param::m_tp_on, opj_tcd_marker_info::need_PLT, opj_image::numcomps, opj_tcp::numpocs, OPJ_FALSE, opj_get_encoding_packet_count(), opj_malloc(), opj_pi_create_encode(), opj_pi_destroy(), opj_pi_initialise_encode(), opj_pi_next(), OPJ_PROFILE_CINEMA_4K, OPJ_PROG_UNKNOWN, opj_t2_encode_packet(), OPJ_TRUE, opj_tcd_marker_info::p_packet_size, opj_tile_info::packet, opj_tcd_marker_info::packet_count, opj_tcd_tile::packno, opj_codestream_info::packno, opj_pi_iterator::poc, opj_tcp::POC, opj_poc::prg, opj_cp::rsiz, opj_packet_info::start_pos, opj_cp::tcps, THRESH_CALC, and opj_codestream_info::tile.

Referenced by opj_tcd_rateallocate(), and opj_tcd_t2_encode().

◆ opj_t2_getcommacode()

static OPJ_UINT32 opj_t2_getcommacode ( opj_bio_t bio)
static

References opj_bio_read().

Referenced by opj_t2_read_packet_header().

◆ opj_t2_getnumpasses()

static OPJ_UINT32 opj_t2_getnumpasses ( opj_bio_t bio)
static

References opj_bio_read().

Referenced by opj_t2_read_packet_header().

◆ opj_t2_init_seg()

static OPJ_BOOL opj_t2_init_seg ( opj_tcd_cblk_dec_t cblk,
OPJ_UINT32  index,
OPJ_UINT32  cblksty,
OPJ_UINT32  first 
)
static

◆ opj_t2_putcommacode()

static void opj_t2_putcommacode ( opj_bio_t bio,
OPJ_INT32  n 
)
static

References opj_bio_write().

Referenced by opj_t2_encode_packet().

◆ opj_t2_putnumpasses()

static void opj_t2_putnumpasses ( opj_bio_t bio,
OPJ_UINT32  n 
)
static

Variable length code for signalling delta Zil (truncation point)

Parameters
bioBit Input/Output component
ndelta Zil

References opj_bio_write().

Referenced by opj_t2_encode_packet().

◆ opj_t2_read_packet_data()

static OPJ_BOOL opj_t2_read_packet_data ( opj_t2_t p_t2,
opj_tcd_tile_t p_tile,
opj_pi_iterator_t p_pi,
OPJ_BYTE p_src_data,
OPJ_UINT32 p_data_read,
OPJ_UINT32  p_max_length,
opj_packet_info_t pack_info,
opj_event_mgr_t p_manager 
)
static

◆ opj_t2_read_packet_header()

static OPJ_BOOL opj_t2_read_packet_header ( opj_t2_t p_t2,
opj_tcd_tile_t p_tile,
opj_tcp_t p_tcp,
opj_pi_iterator_t p_pi,
OPJ_BOOL p_is_data_present,
OPJ_BYTE p_src_data,
OPJ_UINT32 p_data_read,
OPJ_UINT32  p_max_length,
opj_packet_info_t p_pack_info,
opj_event_mgr_t p_manager 
)
static

◆ opj_t2_skip_packet()

static OPJ_BOOL opj_t2_skip_packet ( opj_t2_t p_t2,
opj_tcd_tile_t p_tile,
opj_tcp_t p_tcp,
opj_pi_iterator_t p_pi,
OPJ_BYTE p_src,
OPJ_UINT32 p_data_read,
OPJ_UINT32  p_max_length,
opj_packet_info_t p_pack_info,
opj_event_mgr_t p_manager 
)
static

◆ opj_t2_skip_packet_data()

static OPJ_BOOL opj_t2_skip_packet_data ( opj_t2_t p_t2,
opj_tcd_tile_t p_tile,
opj_pi_iterator_t p_pi,
OPJ_UINT32 p_data_read,
OPJ_UINT32  p_max_length,
opj_packet_info_t pack_info,
opj_event_mgr_t p_manager 
)
static