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...

Defines

#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.
#define T1_TYPE_RAW   1
 No encoding the information is store under raw format in codestream (mode switch RAW).
#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.
#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.
#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.
typedef struct opj_t1 opj_t1_t
 Tier-1 coding (coding of code-block coefficients).

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.
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.
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.
void opj_t1_destroy (opj_t1_t *p_t1)
 Destroys a previously created T1 handle.

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.


Generated on 20 Feb 2018 for OpenJPEG by  doxygen 1.6.1