T1 - Implementation of the tier-1 coding


Data Structures

struct  opj_t1
 Tier-1 coding (coding of code-block coefficients). More...

Local static functions

static INLINE char t1_getctxno_zc (int f, int orient)
static char t1_getctxno_sc (int f)
static INLINE int t1_getctxno_mag (int f)
static char t1_getspb (int f)
static short t1_getnmsedec_sig (int x, int bitpos)
static short t1_getnmsedec_ref (int x, int bitpos)
static void t1_updateflags (flag_t *flagsp, int s, int stride)
static void t1_enc_sigpass_step (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int bpno, int one, int *nmsedec, char type, int vsc)
 Encode significant pass.
static INLINE void t1_dec_sigpass_step_raw (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf, int vsc)
 Decode significant pass.
static INLINE void t1_dec_sigpass_step_mqc (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf)
static INLINE void t1_dec_sigpass_step_mqc_vsc (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf, int vsc)
static void t1_enc_sigpass (opj_t1_t *t1, int bpno, int orient, int *nmsedec, char type, int cblksty)
 Encode significant pass.
static void t1_dec_sigpass_raw (opj_t1_t *t1, int bpno, int orient, int cblksty)
 Decode significant pass.
static void t1_dec_sigpass_mqc (opj_t1_t *t1, int bpno, int orient)
static void t1_dec_sigpass_mqc_vsc (opj_t1_t *t1, int bpno, int orient)
static void t1_enc_refpass_step (opj_t1_t *t1, flag_t *flagsp, int *datap, int bpno, int one, int *nmsedec, char type, int vsc)
 Encode refinement pass.
static INLINE void t1_dec_refpass_step_raw (opj_t1_t *t1, flag_t *flagsp, int *datap, int poshalf, int neghalf, int vsc)
 Decode refinement pass.
static INLINE void t1_dec_refpass_step_mqc (opj_t1_t *t1, flag_t *flagsp, int *datap, int poshalf, int neghalf)
static INLINE void t1_dec_refpass_step_mqc_vsc (opj_t1_t *t1, flag_t *flagsp, int *datap, int poshalf, int neghalf, int vsc)
static void t1_enc_refpass (opj_t1_t *t1, int bpno, int *nmsedec, char type, int cblksty)
 Encode refinement pass.
static void t1_dec_refpass_raw (opj_t1_t *t1, int bpno, int cblksty)
 Decode refinement pass.
static void t1_dec_refpass_mqc (opj_t1_t *t1, int bpno)
static void t1_dec_refpass_mqc_vsc (opj_t1_t *t1, int bpno)
static void t1_enc_clnpass_step (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int bpno, int one, int *nmsedec, int partial, int vsc)
 Encode clean-up pass.
static void t1_dec_clnpass_step_partial (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf)
 Decode clean-up pass.
static void t1_dec_clnpass_step (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf)
static void t1_dec_clnpass_step_vsc (opj_t1_t *t1, flag_t *flagsp, int *datap, int orient, int oneplushalf, int partial, int vsc)
static void t1_enc_clnpass (opj_t1_t *t1, int bpno, int orient, int *nmsedec, int cblksty)
 Encode clean-up pass.
static void t1_dec_clnpass (opj_t1_t *t1, int bpno, int orient, int cblksty)
 Decode clean-up pass.
static double t1_getwmsedec (int nmsedec, int compno, int level, int orient, int bpno, int qmfbid, double stepsize, int numcomps, int mct)
 mod fixed_quality
static void t1_encode_cblk (opj_t1_t *t1, opj_tcd_cblk_enc_t *cblk, int orient, int compno, int level, int qmfbid, double stepsize, int cblksty, int numcomps, int mct, opj_tcd_tile_t *tile)
 Encode 1 code-block.
static void t1_decode_cblk (opj_t1_t *t1, opj_tcd_cblk_dec_t *cblk, int orient, int roishift, int cblksty)
 Decode 1 code-block.

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.

Defines

#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)   t1->flags[((x)*(t1->flags_stride))+(y)]

Typedefs

typedef short flag_t
typedef struct opj_t1 opj_t1_t
 Tier-1 coding (coding of code-block coefficients).

Define Documentation

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

Referenced by t1_dec_clnpass(), and t1_enc_clnpass().

#define T1_CTXNO_AGG   (T1_CTXNO_MAG+T1_NUMCTXS_MAG)

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

#define T1_CTXNO_ZC   0

#define T1_NMSEDEC_BITS   7

#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

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

Referenced by t1_getctxno_sc(), and t1_getspb().

#define T1_SGN_E   0x0200

#define T1_SGN_N   0x0100

#define T1_SGN_S   0x0400

#define T1_SGN_W   0x0800

#define T1_SIG   0x1000

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

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

Referenced by t1_getctxno_sc(), and t1_getspb().

#define T1_SIG_S   0x0040

#define T1_SIG_SE   0x0002

#define T1_SIG_SW   0x0004

#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


Typedef Documentation

typedef short flag_t

typedef struct opj_t1 opj_t1_t

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


Function Documentation

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

static void t1_dec_clnpass ( opj_t1_t t1,
int  bpno,
int  orient,
int  cblksty 
) [static]

static void t1_dec_clnpass_step ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf 
) [static]

static void t1_dec_clnpass_step_partial ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf 
) [static]

static void t1_dec_clnpass_step_vsc ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf,
int  partial,
int  vsc 
) [static]

static void t1_dec_refpass_mqc ( opj_t1_t t1,
int  bpno 
) [static]

static void t1_dec_refpass_mqc_vsc ( opj_t1_t t1,
int  bpno 
) [static]

static void t1_dec_refpass_raw ( opj_t1_t t1,
int  bpno,
int  cblksty 
) [static]

static INLINE void t1_dec_refpass_step_mqc ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  poshalf,
int  neghalf 
) [static]

static INLINE void t1_dec_refpass_step_mqc_vsc ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  poshalf,
int  neghalf,
int  vsc 
) [static]

static INLINE void t1_dec_refpass_step_raw ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  poshalf,
int  neghalf,
int  vsc 
) [static]

Decode refinement pass.

References opj_t1::raw, raw_decode(), T1_REFINE, T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by t1_dec_refpass_raw().

static void t1_dec_sigpass_mqc ( opj_t1_t t1,
int  bpno,
int  orient 
) [static]

static void t1_dec_sigpass_mqc_vsc ( opj_t1_t t1,
int  bpno,
int  orient 
) [static]

static void t1_dec_sigpass_raw ( opj_t1_t t1,
int  bpno,
int  orient,
int  cblksty 
) [static]

static INLINE void t1_dec_sigpass_step_mqc ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf 
) [static]

static INLINE void t1_dec_sigpass_step_mqc_vsc ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf,
int  vsc 
) [static]

static INLINE void t1_dec_sigpass_step_raw ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  oneplushalf,
int  vsc 
) [static]

static void t1_decode_cblk ( opj_t1_t t1,
opj_tcd_cblk_dec_t cblk,
int  orient,
int  roishift,
int  cblksty 
) [static]

void t1_decode_cblks ( opj_t1_t t1,
opj_tcd_tilecomp_t tilec,
opj_tccp_t tccp 
)

void t1_destroy ( opj_t1_t t1  ) 

Destroy a previously created T1 handle.

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

static void t1_enc_clnpass ( opj_t1_t t1,
int  bpno,
int  orient,
int *  nmsedec,
int  cblksty 
) [static]

static void t1_enc_clnpass_step ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  bpno,
int  one,
int *  nmsedec,
int  partial,
int  vsc 
) [static]

static void t1_enc_refpass ( opj_t1_t t1,
int  bpno,
int *  nmsedec,
char  type,
int  cblksty 
) [static]

static void t1_enc_refpass_step ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  bpno,
int  one,
int *  nmsedec,
char  type,
int  vsc 
) [static]

static void t1_enc_sigpass ( opj_t1_t t1,
int  bpno,
int  orient,
int *  nmsedec,
char  type,
int  cblksty 
) [static]

static void t1_enc_sigpass_step ( opj_t1_t t1,
flag_t flagsp,
int *  datap,
int  orient,
int  bpno,
int  one,
int *  nmsedec,
char  type,
int  vsc 
) [static]

static void t1_encode_cblk ( opj_t1_t t1,
opj_tcd_cblk_enc_t cblk,
int  orient,
int  compno,
int  level,
int  qmfbid,
double  stepsize,
int  cblksty,
int  numcomps,
int  mct,
opj_tcd_tile_t tile 
) [static]

void t1_encode_cblks ( opj_t1_t t1,
opj_tcd_tile_t tile,
opj_tcp_t tcp 
)

static int t1_getctxno_mag ( int  f  )  [static]

static char t1_getctxno_sc ( int  f  )  [static]

static char t1_getctxno_zc ( int  f,
int  orient 
) [static]

static short t1_getnmsedec_ref ( int  x,
int  bitpos 
) [static]

static short t1_getnmsedec_sig ( int  x,
int  bitpos 
) [static]

static char t1_getspb ( int  f  )  [static]

static double t1_getwmsedec ( int  nmsedec,
int  compno,
int  level,
int  orient,
int  bpno,
int  qmfbid,
double  stepsize,
int  numcomps,
int  mct 
) [static]

mod fixed_quality

References dwt_getnorm(), dwt_getnorm_real(), mct_getnorm(), and mct_getnorm_real().

Referenced by t1_encode_cblk().

static void t1_updateflags ( flag_t flagsp,
int  s,
int  stride 
) [static]


Generated on Mon Dec 19 12:34:14 2016 for OpenJPEG by  doxygen 1.5.6