OpenJPEG 1.5.2
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_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_tt1_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.
 

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.

Macro Definition Documentation

◆ MACRO_t1_flags

#define MACRO_t1_flags ( x,
y )
Value:
t1->flags[((x)*(t1->flags_stride))+(y)]

Referenced by t1_dec_clnpass(), and t1_enc_clnpass().

◆ T1_CTXNO_AGG

◆ T1_CTXNO_MAG

#define T1_CTXNO_MAG   (T1_CTXNO_SC+T1_NUMCTXS_SC)

Referenced by t1_getctxno_mag().

◆ T1_CTXNO_SC

#define T1_CTXNO_SC   (T1_CTXNO_ZC+T1_NUMCTXS_ZC)

Referenced by t1_init_ctxno_sc().

◆ T1_CTXNO_UNI

◆ T1_CTXNO_ZC

#define T1_CTXNO_ZC   0

◆ T1_NMSEDEC_BITS

#define T1_NMSEDEC_BITS   7

◆ T1_NMSEDEC_FRACBITS

◆ T1_NUMCTXS

#define T1_NUMCTXS   (T1_CTXNO_UNI+T1_NUMCTXS_UNI)

◆ T1_NUMCTXS_AGG

#define T1_NUMCTXS_AGG   1

◆ T1_NUMCTXS_MAG

#define T1_NUMCTXS_MAG   3

◆ T1_NUMCTXS_SC

#define T1_NUMCTXS_SC   5

◆ T1_NUMCTXS_UNI

#define T1_NUMCTXS_UNI   1

◆ T1_NUMCTXS_ZC

#define T1_NUMCTXS_ZC   9

◆ T1_REFINE

◆ T1_SGN

#define T1_SGN   (T1_SGN_N|T1_SGN_E|T1_SGN_S|T1_SGN_W)

Referenced by t1_getctxno_sc(), and t1_getspb().

◆ T1_SGN_E

#define T1_SGN_E   0x0200

◆ T1_SGN_N

#define T1_SGN_N   0x0100

◆ T1_SGN_S

◆ T1_SGN_W

#define T1_SGN_W   0x0800

◆ T1_SIG

◆ T1_SIG_E

#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().

◆ T1_SIG_N

#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().

◆ T1_SIG_NE

#define T1_SIG_NE   0x0001

Context orientation : North-East direction.

Referenced by t1_init_ctxno_zc(), and t1_updateflags().

◆ T1_SIG_NW

#define T1_SIG_NW   0x0008

Context orientation : North-West direction.

Referenced by t1_init_ctxno_zc(), and t1_updateflags().

◆ T1_SIG_OTH

◆ T1_SIG_PRIM

#define T1_SIG_PRIM   (T1_SIG_N|T1_SIG_E|T1_SIG_S|T1_SIG_W)

Referenced by t1_getctxno_sc(), and t1_getspb().

◆ T1_SIG_S

◆ T1_SIG_SE

◆ T1_SIG_SW

◆ T1_SIG_W

#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().

◆ T1_TYPE_MQ

#define T1_TYPE_MQ   0

Normal coding using entropy coder.

Referenced by t1_decode_cblk(), and t1_encode_cblk().

◆ T1_TYPE_RAW

#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().

◆ T1_VISIT

Typedef Documentation

◆ flag_t

typedef short flag_t

◆ opj_t1_t

typedef struct opj_t1 opj_t1_t

Tier-1 coding (coding of code-block coefficients)

Function Documentation

◆ t1_create()

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.

Returns
Returns a new T1 handle if successful, returns NULL otherwise
See also
t1_init_luts

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

◆ t1_decode_cblks()

◆ t1_destroy()

void t1_destroy ( opj_t1_t * t1)

Destroy a previously created T1 handle.

Parameters
t1T1 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().

◆ t1_encode_cblks()