OpenJPEG 1.5.2
|
Implementation of the tier-1 coding (coding of code-block coefficients) (T1) More...
Go to the source code of this file.
Data Structures | |
struct | opj_t1 |
Tier-1 coding (coding of code-block coefficients) More... | |
Macros | |
#define | T1_NMSEDEC_BITS 7 |
#define | T1_SIG_NE 0x0001 |
Context orientation : North-East direction. | |
#define | T1_SIG_SE 0x0002 |
Context orientation : South-East direction. | |
#define | T1_SIG_SW 0x0004 |
Context orientation : South-West direction. | |
#define | T1_SIG_NW 0x0008 |
Context orientation : North-West direction. | |
#define | T1_SIG_N 0x0010 |
Context orientation : North direction. | |
#define | T1_SIG_E 0x0020 |
Context orientation : East direction. | |
#define | T1_SIG_S 0x0040 |
Context orientation : South direction. | |
#define | T1_SIG_W 0x0080 |
Context orientation : West direction. | |
#define | T1_SIG_OTH (T1_SIG_N|T1_SIG_NE|T1_SIG_E|T1_SIG_SE|T1_SIG_S|T1_SIG_SW|T1_SIG_W|T1_SIG_NW) |
#define | T1_SIG_PRIM (T1_SIG_N|T1_SIG_E|T1_SIG_S|T1_SIG_W) |
#define | T1_SGN_N 0x0100 |
#define | T1_SGN_E 0x0200 |
#define | T1_SGN_S 0x0400 |
#define | T1_SGN_W 0x0800 |
#define | T1_SGN (T1_SGN_N|T1_SGN_E|T1_SGN_S|T1_SGN_W) |
#define | T1_SIG 0x1000 |
#define | T1_REFINE 0x2000 |
#define | T1_VISIT 0x4000 |
#define | T1_NUMCTXS_ZC 9 |
#define | T1_NUMCTXS_SC 5 |
#define | T1_NUMCTXS_MAG 3 |
#define | T1_NUMCTXS_AGG 1 |
#define | T1_NUMCTXS_UNI 1 |
#define | T1_CTXNO_ZC 0 |
#define | T1_CTXNO_SC (T1_CTXNO_ZC+T1_NUMCTXS_ZC) |
#define | T1_CTXNO_MAG (T1_CTXNO_SC+T1_NUMCTXS_SC) |
#define | T1_CTXNO_AGG (T1_CTXNO_MAG+T1_NUMCTXS_MAG) |
#define | T1_CTXNO_UNI (T1_CTXNO_AGG+T1_NUMCTXS_AGG) |
#define | T1_NUMCTXS (T1_CTXNO_UNI+T1_NUMCTXS_UNI) |
#define | T1_NMSEDEC_FRACBITS (T1_NMSEDEC_BITS-1) |
#define | T1_TYPE_MQ 0 |
Normal coding using entropy coder. | |
#define | T1_TYPE_RAW 1 |
No encoding the information is store under raw format in codestream (mode switch RAW) | |
#define | MACRO_t1_flags(x, y) |
Typedefs | |
typedef short | flag_t |
typedef struct opj_t1 | opj_t1_t |
Tier-1 coding (coding of code-block coefficients) | |
Functions | |
Exported functions | |
opj_t1_t * | t1_create (opj_common_ptr cinfo) |
Create a new T1 handle and initialize the look-up tables of the Tier-1 coder/decoder. | |
void | t1_destroy (opj_t1_t *t1) |
Destroy a previously created T1 handle. | |
void | t1_encode_cblks (opj_t1_t *t1, opj_tcd_tile_t *tile, opj_tcp_t *tcp) |
Encode the code-blocks of a tile. | |
void | t1_decode_cblks (opj_t1_t *t1, opj_tcd_tilecomp_t *tilec, opj_tccp_t *tccp) |
Decode the code-blocks of a tile. | |
Implementation of the tier-1 coding (coding of code-block coefficients) (T1)
The functions in T1.C have for goal to realize the tier-1 coding operation. The functions in T1.C are used by some function in TCD.C.
#define MACRO_t1_flags | ( | x, | |
y ) |
Referenced by t1_dec_clnpass(), and t1_enc_clnpass().
#define T1_CTXNO_AGG (T1_CTXNO_MAG+T1_NUMCTXS_MAG) |
Referenced by mqc_reset_enc(), t1_dec_clnpass(), t1_decode_cblk(), t1_enc_clnpass(), and t1_encode_cblk().
#define T1_CTXNO_MAG (T1_CTXNO_SC+T1_NUMCTXS_SC) |
Referenced by t1_getctxno_mag().
#define T1_CTXNO_SC (T1_CTXNO_ZC+T1_NUMCTXS_ZC) |
Referenced by t1_init_ctxno_sc().
#define T1_CTXNO_UNI (T1_CTXNO_AGG+T1_NUMCTXS_AGG) |
Referenced by mqc_reset_enc(), t1_dec_clnpass(), t1_decode_cblk(), t1_enc_clnpass(), and t1_encode_cblk().
#define T1_CTXNO_ZC 0 |
Referenced by mqc_reset_enc(), t1_decode_cblk(), t1_encode_cblk(), and t1_init_ctxno_zc().
#define T1_NMSEDEC_BITS 7 |
Referenced by main(), t1_getnmsedec_ref(), and t1_getnmsedec_sig().
#define T1_NMSEDEC_FRACBITS (T1_NMSEDEC_BITS-1) |
#define T1_NUMCTXS (T1_CTXNO_UNI+T1_NUMCTXS_UNI) |
#define T1_NUMCTXS_AGG 1 |
#define T1_NUMCTXS_MAG 3 |
#define T1_NUMCTXS_SC 5 |
#define T1_NUMCTXS_UNI 1 |
#define T1_NUMCTXS_ZC 9 |
#define T1_REFINE 0x2000 |
Referenced by t1_getctxno_sc(), and t1_getspb().
#define T1_SGN_E 0x0200 |
Referenced by t1_init_ctxno_sc(), t1_init_spb(), and t1_updateflags().
#define T1_SGN_N 0x0100 |
Referenced by t1_init_ctxno_sc(), t1_init_spb(), and t1_updateflags().
#define T1_SGN_S 0x0400 |
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), t1_enc_sigpass_step(), t1_init_ctxno_sc(), t1_init_spb(), and t1_updateflags().
#define T1_SGN_W 0x0800 |
Referenced by t1_init_ctxno_sc(), t1_init_spb(), and t1_updateflags().
#define T1_SIG 0x1000 |
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), t1_enc_sigpass_step(), and t1_updateflags().
#define T1_SIG_E 0x0020 |
Context orientation : East direction.
Referenced by t1_init_ctxno_sc(), t1_init_ctxno_zc(), t1_init_spb(), and t1_updateflags().
#define T1_SIG_N 0x0010 |
Context orientation : North direction.
Referenced by t1_init_ctxno_sc(), t1_init_ctxno_zc(), t1_init_spb(), and t1_updateflags().
#define T1_SIG_NE 0x0001 |
Context orientation : North-East direction.
Referenced by t1_init_ctxno_zc(), and t1_updateflags().
#define T1_SIG_NW 0x0008 |
Context orientation : North-West direction.
Referenced by t1_init_ctxno_zc(), and t1_updateflags().
Referenced by t1_getctxno_sc(), and t1_getspb().
#define T1_SIG_S 0x0040 |
Context orientation : South direction.
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), t1_enc_sigpass_step(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), t1_init_spb(), and t1_updateflags().
#define T1_SIG_SE 0x0002 |
Context orientation : South-East direction.
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), t1_enc_sigpass_step(), t1_init_ctxno_zc(), and t1_updateflags().
#define T1_SIG_SW 0x0004 |
Context orientation : South-West direction.
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), t1_enc_sigpass_step(), t1_init_ctxno_zc(), and t1_updateflags().
#define T1_SIG_W 0x0080 |
Context orientation : West direction.
Referenced by t1_init_ctxno_sc(), t1_init_ctxno_zc(), t1_init_spb(), and t1_updateflags().
#define T1_TYPE_MQ 0 |
Normal coding using entropy coder.
Referenced by t1_decode_cblk(), and t1_encode_cblk().
#define T1_TYPE_RAW 1 |
No encoding the information is store under raw format in codestream (mode switch RAW)
Referenced by t1_decode_cblk(), t1_enc_refpass_step(), t1_enc_sigpass_step(), and t1_encode_cblk().
#define T1_VISIT 0x4000 |
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step(), t1_dec_clnpass_step_partial(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_refpass_step_raw(), t1_dec_sigpass_step_mqc(), t1_dec_sigpass_step_mqc_vsc(), t1_dec_sigpass_step_raw(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), and t1_enc_sigpass_step().
typedef short flag_t |
opj_t1_t * t1_create | ( | opj_common_ptr | cinfo | ) |
Create a new T1 handle and initialize the look-up tables of the Tier-1 coder/decoder.
References opj_t1::cinfo, opj_t1::data, opj_t1::datasize, opj_t1::flags, opj_t1::flagssize, opj_t1::mqc, mqc_create(), opj_malloc, opj_t1::raw, and raw_create().
Referenced by tcd_decode_tile(), and tcd_encode_tile().
void t1_decode_cblks | ( | opj_t1_t * | t1, |
opj_tcd_tilecomp_t * | tilec, | ||
opj_tccp_t * | tccp ) |
Decode the code-blocks of a tile.
t1 | T1 handle |
tilec | The tile to decode |
tccp | Tile coding parameters |
References opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tccp::cblksty, opj_tcd_precinct::ch, opj_tcd_precinct::cw, opj_t1::data, opj_tcd_cblk_dec::data, opj_tcd_tilecomp::data, opj_tcd_precinct::dec, opj_t1::h, opj_tcd_resolution::numbands, opj_tcd_tilecomp::numresolutions, opj_free, opj_tcd_resolution::ph, opj_tcd_resolution::pw, opj_tccp::qmfbid, opj_tcd_tilecomp::resolutions, restrict, opj_tccp::roishift, opj_tcd_cblk_dec::segs, t1_decode_cblk(), opj_t1::w, opj_tcd_cblk_dec::x0, opj_tcd_resolution::x0, opj_tcd_tilecomp::x0, opj_tcd_resolution::x1, opj_tcd_tilecomp::x1, opj_tcd_cblk_dec::y0, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.
Referenced by tcd_decode_tile().
void t1_destroy | ( | opj_t1_t * | t1 | ) |
Destroy a previously created T1 handle.
t1 | T1 handle to destroy |
References opj_t1::data, opj_t1::flags, opj_t1::mqc, mqc_destroy(), opj_aligned_free, opj_free, opj_t1::raw, and raw_destroy().
Referenced by tcd_decode_tile(), and tcd_encode_tile().
void t1_encode_cblks | ( | opj_t1_t * | t1, |
opj_tcd_tile_t * | tile, | ||
opj_tcp_t * | tcp ) |
Encode the code-blocks of a tile.
t1 | T1 handle |
tile | The tile to encode |
tcp | Tile coding parameters |
References allocate_buffers(), opj_tcd_resolution::bands, opj_tcd_precinct::cblks, opj_tccp::cblksty, opj_tcd_precinct::ch, opj_tcd_tile::comps, opj_tcd_precinct::cw, opj_t1::data, opj_tcd_tilecomp::data, opj_tcd_tile::distotile, opj_tcd_precinct::enc, fix_mul(), opj_t1::h, opj_tcp::mct, opj_tcd_resolution::numbands, opj_tcd_tile::numcomps, opj_tcd_tilecomp::numresolutions, opj_tcd_resolution::ph, opj_tcd_resolution::pw, opj_tccp::qmfbid, opj_tcd_tilecomp::resolutions, restrict, t1_encode_cblk(), T1_NMSEDEC_FRACBITS, opj_tcp::tccps, opj_t1::w, opj_tcd_cblk_enc::x0, opj_tcd_resolution::x0, opj_tcd_tilecomp::x0, opj_tcd_cblk_enc::x1, opj_tcd_resolution::x1, opj_tcd_tilecomp::x1, opj_tcd_cblk_enc::y0, opj_tcd_resolution::y0, opj_tcd_cblk_enc::y1, and opj_tcd_resolution::y1.
Referenced by tcd_encode_tile().