OpenJPEG  2.3.1
Data Structures | Macros | Typedefs
t1.h File Reference

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_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. More...
 
#define T1_TYPE_RAW   1
 No encoding the information is store under raw format in codestream (mode switch RAW) More...
 
#define T1_SIGMA_0   (1U << 0)
 We hold the state of individual data points for the T1 encoder using a single 32-bit flags word to hold the state of 4 data points. More...
 
#define T1_SIGMA_1   (1U << 1)
 
#define T1_SIGMA_2   (1U << 2)
 
#define T1_SIGMA_3   (1U << 3)
 
#define T1_SIGMA_4   (1U << 4)
 
#define T1_SIGMA_5   (1U << 5)
 
#define T1_SIGMA_6   (1U << 6)
 
#define T1_SIGMA_7   (1U << 7)
 
#define T1_SIGMA_8   (1U << 8)
 
#define T1_SIGMA_9   (1U << 9)
 
#define T1_SIGMA_10   (1U << 10)
 
#define T1_SIGMA_11   (1U << 11)
 
#define T1_SIGMA_12   (1U << 12)
 
#define T1_SIGMA_13   (1U << 13)
 
#define T1_SIGMA_14   (1U << 14)
 
#define T1_SIGMA_15   (1U << 15)
 
#define T1_SIGMA_16   (1U << 16)
 
#define T1_SIGMA_17   (1U << 17)
 
#define T1_CHI_0   (1U << 18)
 
#define T1_CHI_0_I   18
 
#define T1_CHI_1   (1U << 19)
 
#define T1_CHI_1_I   19
 
#define T1_MU_0   (1U << 20)
 
#define T1_PI_0   (1U << 21)
 
#define T1_CHI_2   (1U << 22)
 
#define T1_CHI_2_I   22
 
#define T1_MU_1   (1U << 23)
 
#define T1_PI_1   (1U << 24)
 
#define T1_CHI_3   (1U << 25)
 
#define T1_MU_2   (1U << 26)
 
#define T1_PI_2   (1U << 27)
 
#define T1_CHI_4   (1U << 28)
 
#define T1_MU_3   (1U << 29)
 
#define T1_PI_3   (1U << 30)
 
#define T1_CHI_5   (1U << 31)
 
#define T1_CHI_5_I   31
 
#define T1_SIGMA_NW   T1_SIGMA_0
 As an example, the bits T1_SIGMA_3, T1_SIGMA_4 and T1_SIGMA_5 indicate the significance state of the west neighbour of data point zero of our four, the point itself, and its east neighbour respectively. More...
 
#define T1_SIGMA_N   T1_SIGMA_1
 
#define T1_SIGMA_NE   T1_SIGMA_2
 
#define T1_SIGMA_W   T1_SIGMA_3
 
#define T1_SIGMA_THIS   T1_SIGMA_4
 
#define T1_SIGMA_E   T1_SIGMA_5
 
#define T1_SIGMA_SW   T1_SIGMA_6
 
#define T1_SIGMA_S   T1_SIGMA_7
 
#define T1_SIGMA_SE   T1_SIGMA_8
 
#define T1_SIGMA_NEIGHBOURS   (T1_SIGMA_NW | T1_SIGMA_N | T1_SIGMA_NE | T1_SIGMA_W | T1_SIGMA_E | T1_SIGMA_SW | T1_SIGMA_S | T1_SIGMA_SE)
 
#define T1_CHI_THIS   T1_CHI_1
 
#define T1_CHI_THIS_I   T1_CHI_1_I
 
#define T1_MU_THIS   T1_MU_0
 
#define T1_PI_THIS   T1_PI_0
 
#define T1_CHI_S   T1_CHI_2
 
#define T1_LUT_SGN_W   (1U << 0)
 
#define T1_LUT_SIG_N   (1U << 1)
 
#define T1_LUT_SGN_E   (1U << 2)
 
#define T1_LUT_SIG_W   (1U << 3)
 
#define T1_LUT_SGN_N   (1U << 4)
 
#define T1_LUT_SIG_E   (1U << 5)
 
#define T1_LUT_SGN_S   (1U << 6)
 
#define T1_LUT_SIG_S   (1U << 7)
 

Typedefs

typedef OPJ_UINT32 opj_flag_t
 Flags for 4 consecutive rows of a column. More...
 
typedef struct opj_t1 opj_t1_t
 Tier-1 coding (coding of code-block coefficients) More...
 

Functions

Exported functions
OPJ_BOOL opj_t1_encode_cblks (opj_t1_t *t1, opj_tcd_tile_t *tile, opj_tcp_t *tcp, const OPJ_FLOAT64 *mct_norms, OPJ_UINT32 mct_numcomps)
 Encode the code-blocks of a tile. More...
 
void opj_t1_decode_cblks (opj_tcd_t *tcd, volatile OPJ_BOOL *pret, opj_tcd_tilecomp_t *tilec, opj_tccp_t *tccp, opj_event_mgr_t *p_manager, opj_mutex_t *p_manager_mutex, OPJ_BOOL check_pterm)
 Decode the code-blocks of a tile. More...
 
opj_t1_topj_t1_create (OPJ_BOOL isEncoder)
 Creates a new Tier 1 handle and initializes the look-up tables of the Tier-1 coder/decoder. More...
 
void opj_t1_destroy (opj_t1_t *p_t1)
 Destroys a previously created T1 handle. More...
 

Detailed Description

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.