OpenJPEG: T1 - Implementation of the tier-1 coding

OpenJPEG 2.1.0

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

Data Structures | Macros | Typedefs
T1 - Implementation of the tier-1 coding

## 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. More...
#define | T1_SIG_SE 0x0002
| Context orientation : South-East direction. More...
#define | T1_SIG_SW 0x0004
| Context orientation : South-West direction. More...
#define | T1_SIG_NW 0x0008
| Context orientation : North-West direction. More...
#define | T1_SIG_N 0x0010
| Context orientation : North direction. More...
#define | T1_SIG_E 0x0020
| Context orientation : East direction. More...
#define | T1_SIG_S 0x0040
| Context orientation : South direction. More...
#define | T1_SIG_W 0x0080
| Context orientation : West direction. More...
#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. More...
#define | T1_TYPE_RAW 1
| No encoding the information is store under raw format in codestream (mode switch RAW) More...
#define | MACRO_t1_flags(x, y) t1->flags[((x)*(t1->flags_stride))+(y)]

## Typedefs
typedef OPJ_INT16 | opj_flag_t
typedef struct opj_t1 | opj_t1_t
| Tier-1 coding (coding of code-block coefficients) More...

## Local static functions
static INLINE OPJ_BYTE | opj_t1_getctxno_zc (OPJ_UINT32 f, OPJ_UINT32 orient)
static OPJ_BYTE | opj_t1_getctxno_sc (OPJ_UINT32 f)
static INLINE OPJ_UINT32 | opj_t1_getctxno_mag (OPJ_UINT32 f)
static OPJ_BYTE | opj_t1_getspb (OPJ_UINT32 f)
static OPJ_INT16 | opj_t1_getnmsedec_sig (OPJ_UINT32 x, OPJ_UINT32 bitpos)
static OPJ_INT16 | opj_t1_getnmsedec_ref (OPJ_UINT32 x, OPJ_UINT32 bitpos)
static void | opj_t1_updateflags (opj_flag_t *flagsp, OPJ_UINT32 s, OPJ_UINT32 stride)
static void | opj_t1_enc_sigpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 vsc)
| Encode significant pass. More...
static INLINE void | opj_t1_dec_sigpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 vsc)
| Decode significant pass. More...
static INLINE void | opj_t1_dec_sigpass_step_mqc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
static INLINE void | opj_t1_dec_sigpass_step_mqc_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 vsc)
static void | opj_t1_enc_sigpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_UINT32 orient, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 cblksty)
| Encode significant pass. More...
static void | opj_t1_dec_sigpass_raw (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient, OPJ_INT32 cblksty)
| Decode significant pass. More...
static void | opj_t1_dec_sigpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient)
static void | opj_t1_dec_sigpass_mqc_vsc (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient)
static void | opj_t1_enc_refpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 vsc)
| Encode refinement pass. More...
static void | opj_t1_enc_refpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_BYTE type, OPJ_UINT32 cblksty)
| Encode refinement pass. More...
static void | opj_t1_dec_refpass_raw (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
| Decode refinement pass. More...
static void | opj_t1_dec_refpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_refpass_mqc_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
static INLINE void | opj_t1_dec_refpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf, OPJ_INT32 vsc)
| Decode refinement pass. More...
static INLINE void | opj_t1_dec_refpass_step_mqc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf)
static INLINE void | opj_t1_dec_refpass_step_mqc_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_INT32 neghalf, OPJ_INT32 vsc)
static void | opj_t1_enc_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_UINT32 partial, OPJ_UINT32 vsc)
| Encode clean-up pass. More...
static void | opj_t1_dec_clnpass_step_partial (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
| Decode clean-up pass. More...
static void | opj_t1_dec_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf)
static void | opj_t1_dec_clnpass_step_vsc (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 orient, OPJ_INT32 oneplushalf, OPJ_INT32 partial, OPJ_INT32 vsc)
static void | opj_t1_enc_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_UINT32 orient, OPJ_INT32 *nmsedec, OPJ_UINT32 cblksty)
| Encode clean-up pass. More...
static void | opj_t1_dec_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 orient, OPJ_INT32 cblksty)
| Decode clean-up pass. More...
static OPJ_FLOAT64 | opj_t1_getwmsedec (OPJ_INT32 nmsedec, OPJ_UINT32 compno, OPJ_UINT32 level, OPJ_UINT32 orient, OPJ_INT32 bpno, OPJ_UINT32 qmfbid, OPJ_FLOAT64 stepsize, OPJ_UINT32 numcomps, const OPJ_FLOAT64 *mct_norms)
| mod fixed_quality More...
static void | opj_t1_encode_cblk (opj_t1_t *t1, opj_tcd_cblk_enc_t *cblk, OPJ_UINT32 orient, OPJ_UINT32 compno, OPJ_UINT32 level, OPJ_UINT32 qmfbid, OPJ_FLOAT64 stepsize, OPJ_UINT32 cblksty, OPJ_UINT32 numcomps, opj_tcd_tile_t *tile, const OPJ_FLOAT64 *mct_norms)
| mod fixed_quality More...
static OPJ_BOOL | opj_t1_decode_cblk (opj_t1_t *t1, opj_tcd_cblk_dec_t *cblk, OPJ_UINT32 orient, OPJ_UINT32 roishift, OPJ_UINT32 cblksty)
| Decode 1 code-block. More...
OPJ_BOOL | opj_t1_allocate_buffers (opj_t1_t *t1, OPJ_UINT32 w, OPJ_UINT32 h)

## 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)
| Encode the code-blocks of a tile. More...
OPJ_BOOL | opj_t1_decode_cblks (opj_t1_t *t1, opj_tcd_tilecomp_t *tilec, opj_tccp_t *tccp)
| Decode the code-blocks of a tile. More...
opj_t1_t * | opj_t1_create (void)
| 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

## Macro Definition Documentation

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

Referenced by opj_t1_dec_clnpass(), and opj_t1_enc_clnpass().

#define T1_CTXNO_AGG (T1_CTXNO_MAG+T1_NUMCTXS_MAG)

Referenced by opj_mqc_reset_enc(), opj_t1_dec_clnpass(), opj_t1_decode_cblk(), opj_t1_enc_clnpass(), and opj_t1_encode_cblk().

#define T1_CTXNO_MAG (T1_CTXNO_SC+T1_NUMCTXS_SC)

Referenced by opj_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 opj_mqc_reset_enc(), opj_t1_dec_clnpass(), opj_t1_decode_cblk(), opj_t1_enc_clnpass(), and opj_t1_encode_cblk().

#define T1_CTXNO_ZC 0

Referenced by opj_mqc_reset_enc(), opj_t1_decode_cblk(), opj_t1_encode_cblk(), and t1_init_ctxno_zc().

#define T1_NMSEDEC_BITS 7

Referenced by main(), opj_t1_getnmsedec_ref(), and opj_t1_getnmsedec_sig().

#define T1_NMSEDEC_FRACBITS (T1_NMSEDEC_BITS-1)

Referenced by main(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass(), opj_t1_enc_sigpass_step(), opj_t1_encode_cblk(), opj_t1_encode_cblks(), opj_t1_getnmsedec_ref(), and opj_t1_getnmsedec_sig().

#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 opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_enc_refpass_step(), and opj_t1_getctxno_mag().

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

Referenced by opj_t1_getctxno_sc(), and opj_t1_getspb().

#define T1_SGN_E 0x0200

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), and t1_init_spb().

#define T1_SGN_N 0x0100

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), and t1_init_spb().

#define T1_SGN_S 0x0400

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), opj_t1_updateflags(), t1_init_ctxno_sc(), and t1_init_spb().

#define T1_SGN_W 0x0800

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), and t1_init_spb().

#define T1_SIG 0x1000

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), and opj_t1_updateflags().

#define T1_SIG_E 0x0020

Context orientation : East direction.

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

#define T1_SIG_N 0x0010

Context orientation : North direction.

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

#define T1_SIG_NE 0x0001

Context orientation : North-East direction.

Referenced by opj_t1_updateflags(), and t1_init_ctxno_zc().

#define T1_SIG_NW 0x0008

Context orientation : North-West direction.

Referenced by opj_t1_updateflags(), and t1_init_ctxno_zc().

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

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_sigpass_step(), opj_t1_getctxno_mag(), and opj_t1_getctxno_zc().

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

Referenced by opj_t1_getctxno_sc(), and opj_t1_getspb().

#define T1_SIG_S 0x0040

Context orientation : South direction.

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

#define T1_SIG_SE 0x0002

Context orientation : South-East direction.

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), opj_t1_updateflags(), and t1_init_ctxno_zc().

#define T1_SIG_SW 0x0004

Context orientation : South-West direction.

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), opj_t1_updateflags(), and t1_init_ctxno_zc().

#define T1_SIG_W 0x0080

Context orientation : West direction.

Referenced by opj_t1_updateflags(), t1_init_ctxno_sc(), t1_init_ctxno_zc(), and t1_init_spb().

#define T1_TYPE_MQ 0

Normal coding using entropy coder.

Referenced by opj_t1_decode_cblk(), and opj_t1_encode_cblk().

#define T1_TYPE_RAW 1

No encoding the information is store under raw format in codestream (mode switch RAW)

Referenced by opj_t1_decode_cblk(), opj_t1_enc_refpass_step(), opj_t1_enc_sigpass_step(), and opj_t1_encode_cblk().

#define T1_VISIT 0x4000

Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_refpass_step_raw(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().

## Typedef Documentation

typedef OPJ_INT16 opj_flag_t

typedef struct opj_t1 opj_t1_t

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

## Function Documentation

OPJ_BOOL opj_t1_allocate_buffers | ( | opj_t1_t * | t1,
|  | OPJ_UINT32 | w,
|  | OPJ_UINT32 | h
| ) |  |

References opj_t1::data, opj_t1::datasize, opj_t1::flags, opj_t1::flags_stride, opj_t1::flagssize, opj_t1::h, opj_aligned_free, opj_aligned_malloc, OPJ_FALSE, OPJ_TRUE, and opj_t1::w.

Referenced by opj_t1_decode_cblk(), and opj_t1_encode_cblks().

opj_t1_t* opj_t1_create | ( | void |  | ) |

Creates a new Tier 1 handle and initializes the look-up tables of the Tier-1 coder/decoder.

Returns
  a new T1 handle if successful, returns NULL otherwise

References opj_t1::mqc, opj_malloc, opj_mqc_create(), opj_raw_create(), opj_t1_destroy(), and opj_t1::raw.

Referenced by opj_tcd_t1_decode(), and opj_tcd_t1_encode().

static void opj_t1_dec_clnpass | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | cblksty
| ) |  |
| static

Decode clean-up pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_SEGSYM, J2K_CCP_CBLKSTY_VSC, MACRO_t1_flags, opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), T1_CTXNO_AGG, T1_CTXNO_UNI, T1_SGN_S, T1_SIG, T1_SIG_OTH, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, T1_VISIT, and opj_t1::w.

Referenced by opj_t1_decode_cblk().

static void opj_t1_dec_clnpass_step | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf
| ) |  |
| static

References opj_t1::flags_stride, opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getspb(), opj_t1_updateflags(), T1_SIG, and T1_VISIT.

Referenced by opj_t1_dec_clnpass().

static void opj_t1_dec_clnpass_step_partial | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf
| ) |  |
| static

Decode clean-up pass.

References opj_t1::flags_stride, opj_t1::mqc, OPJ_ARG_NOT_USED, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getspb(), opj_t1_updateflags(), and T1_VISIT.

Referenced by opj_t1_dec_clnpass().

static void opj_t1_dec_clnpass_step_vsc | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf,
|  | OPJ_INT32 | partial,
|  | OPJ_INT32 | vsc
| ) |  |
| static

References opj_t1::flags_stride, opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getspb(), opj_t1_updateflags(), T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by opj_t1_dec_clnpass().

void opj_t1_dec_refpass_mqc | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno
| ) |  |
| static

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, opj_t1_dec_refpass_step_mqc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

void opj_t1_dec_refpass_mqc_vsc | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno
| ) |  |
| static

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, opj_t1_dec_refpass_step_mqc_vsc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

void opj_t1_dec_refpass_raw | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | cblksty
| ) |  |
| static

Decode refinement pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_dec_refpass_step_raw(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

INLINE void opj_t1_dec_refpass_step_mqc | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | poshalf,
|  | OPJ_INT32 | neghalf
| ) |  |
| static

References opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_mag(), T1_REFINE, T1_SIG, and T1_VISIT.

Referenced by opj_t1_dec_refpass_mqc().

INLINE void opj_t1_dec_refpass_step_mqc_vsc | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | poshalf,
|  | OPJ_INT32 | neghalf,
|  | OPJ_INT32 | vsc
| ) |  |
| static

References opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_mag(), T1_REFINE, T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by opj_t1_dec_refpass_mqc_vsc().

INLINE void opj_t1_dec_refpass_step_raw | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | poshalf,
|  | OPJ_INT32 | neghalf,
|  | OPJ_INT32 | vsc
| ) |  |
| static

Decode refinement pass.

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

Referenced by opj_t1_dec_refpass_raw().

void opj_t1_dec_sigpass_mqc | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | orient
| ) |  |
| static

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, opj_t1_dec_sigpass_step_mqc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

void opj_t1_dec_sigpass_mqc_vsc | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | orient
| ) |  |
| static

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, opj_t1_dec_sigpass_step_mqc_vsc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

void opj_t1_dec_sigpass_raw | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | cblksty
| ) |  |
| static

Decode significant pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_dec_sigpass_step_raw(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

INLINE void opj_t1_dec_sigpass_step_mqc | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf
| ) |  |
| static

References opj_t1::flags_stride, opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getspb(), opj_t1_updateflags(), T1_SIG, T1_SIG_OTH, and T1_VISIT.

Referenced by opj_t1_dec_sigpass_mqc().

INLINE void opj_t1_dec_sigpass_step_mqc_vsc | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf,
|  | OPJ_INT32 | vsc
| ) |  |
| static

References opj_t1::flags_stride, opj_t1::mqc, opj_mqc_decode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getspb(), opj_t1_updateflags(), T1_SGN_S, T1_SIG, T1_SIG_OTH, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by opj_t1_dec_sigpass_mqc_vsc().

static INLINE void opj_t1_dec_sigpass_step_raw | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | orient,
|  | OPJ_INT32 | oneplushalf,
|  | OPJ_INT32 | vsc
| ) |  |
| static

Decode significant pass.

References opj_t1::flags_stride, OPJ_ARG_NOT_USED, opj_raw_decode(), opj_t1_updateflags(), opj_t1::raw, T1_SGN_S, T1_SIG, T1_SIG_OTH, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by opj_t1_dec_sigpass_raw().

OPJ_BOOL opj_t1_decode_cblk | ( | opj_t1_t * | t1,
|  | opj_tcd_cblk_dec_t * | cblk,
|  | OPJ_UINT32 | orient,
|  | OPJ_UINT32 | roishift,
|  | OPJ_UINT32 | cblksty
| ) |  |
| static

Decode 1 code-block.

Parameters

  t1 | T1 handle
  cblk | Code-block coding parameters
  orient |
  roishift | Region of interest shifting value
  cblksty | Code-block style

References opj_tcd_seg::data, opj_tcd_seg::dataindex, J2K_CCP_CBLKSTY_LAZY, J2K_CCP_CBLKSTY_RESET, J2K_CCP_CBLKSTY_VSC, opj_tcd_seg::len, opj_t1::mqc, opj_tcd_cblk_dec::numbps, OPJ_FALSE, opj_mqc_init_dec(), opj_mqc_resetstates(), opj_mqc_setstate(), opj_raw_init_dec(), opj_t1_allocate_buffers(), opj_t1_dec_clnpass(), opj_t1_dec_refpass_mqc(), opj_t1_dec_refpass_mqc_vsc(), opj_t1_dec_refpass_raw(), opj_t1_dec_sigpass_mqc(), opj_t1_dec_sigpass_mqc_vsc(), opj_t1_dec_sigpass_raw(), OPJ_TRUE, opj_t1::raw, opj_tcd_seg::real_num_passes, opj_tcd_cblk_dec::real_num_segs, opj_tcd_cblk_dec::segs, T1_CTXNO_AGG, T1_CTXNO_UNI, T1_CTXNO_ZC, T1_TYPE_MQ, T1_TYPE_RAW, opj_tcd_cblk_dec::x0, opj_tcd_cblk_dec::x1, opj_tcd_cblk_dec::y0, and opj_tcd_cblk_dec::y1.

Referenced by opj_t1_decode_cblks().

OPJ_BOOL opj_t1_decode_cblks | ( | opj_t1_t * | t1,
|  | opj_tcd_tilecomp_t * | tilec,
|  | opj_tccp_t * | tccp
| ) |  |

Decode the code-blocks of a tile.

Parameters

  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_tilecomp::data, opj_tcd_precinct::dec, opj_t1::h, opj_tcd_tilecomp::minimum_num_resolutions, opj_tcd_resolution::numbands, OPJ_FALSE, opj_t1_decode_cblk(), OPJ_TRUE, opj_tcd_resolution::ph, opj_tcd_resolution::pw, opj_tccp::qmfbid, opj_tcd_tilecomp::resolutions, restrict, opj_tccp::roishift, 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 opj_tcd_t1_decode().

void opj_t1_destroy | ( | opj_t1_t * | p_t1 | ) |

Destroys a previously created T1 handle.

Parameters

  p_t1 | Tier 1 handle to destroy

References opj_t1::data, opj_t1::flags, opj_t1::mqc, opj_aligned_free, opj_free, opj_mqc_destroy(), opj_raw_destroy(), and opj_t1::raw.

Referenced by opj_t1_create(), opj_tcd_t1_decode(), and opj_tcd_t1_encode().

void opj_t1_enc_clnpass | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_UINT32 | orient,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_UINT32 | cblksty
| ) |  |
| static

Encode clean-up pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_VSC, MACRO_t1_flags, opj_t1::mqc, opj_int_abs(), opj_mqc_encode(), opj_mqc_setcurctx, opj_t1_enc_clnpass_step(), T1_CTXNO_AGG, T1_CTXNO_UNI, T1_NMSEDEC_FRACBITS, T1_SGN_S, T1_SIG, T1_SIG_OTH, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, T1_VISIT, and opj_t1::w.

Referenced by opj_t1_encode_cblk().

void opj_t1_enc_clnpass_step | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_UINT32 | orient,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | one,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_UINT32 | partial,
|  | OPJ_UINT32 | vsc
| ) |  |
| static

Encode clean-up pass.

References opj_t1::flags_stride, opj_t1::mqc, opj_int_abs(), opj_mqc_encode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getnmsedec_sig(), opj_t1_getspb(), opj_t1_updateflags(), T1_NMSEDEC_FRACBITS, T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_VISIT.

Referenced by opj_t1_enc_clnpass().

void opj_t1_enc_refpass | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_BYTE | type,
|  | OPJ_UINT32 | cblksty
| ) |  |
| static

Encode refinement pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_enc_refpass_step(), T1_NMSEDEC_FRACBITS, and opj_t1::w.

Referenced by opj_t1_encode_cblk().

void opj_t1_enc_refpass_step | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | one,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_BYTE | type,
|  | OPJ_UINT32 | vsc
| ) |  |
| static

Encode refinement pass.

References opj_t1::mqc, opj_int_abs(), opj_mqc_bypass_enc(), opj_mqc_encode(), opj_mqc_setcurctx, opj_t1_getctxno_mag(), opj_t1_getnmsedec_ref(), T1_NMSEDEC_FRACBITS, T1_REFINE, T1_SGN_S, T1_SIG, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, T1_TYPE_RAW, and T1_VISIT.

Referenced by opj_t1_enc_refpass().

void opj_t1_enc_sigpass | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | bpno,
|  | OPJ_UINT32 | orient,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_BYTE | type,
|  | OPJ_UINT32 | cblksty
| ) |  |
| static

Encode significant pass.

References opj_t1::data, opj_t1::flags, opj_t1::flags_stride, opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_enc_sigpass_step(), T1_NMSEDEC_FRACBITS, and opj_t1::w.

Referenced by opj_t1_encode_cblk().

void opj_t1_enc_sigpass_step | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_UINT32 | orient,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | one,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_BYTE | type,
|  | OPJ_UINT32 | vsc
| ) |  |
| static

Encode significant pass.

References opj_t1::flags_stride, opj_t1::mqc, opj_int_abs(), opj_mqc_bypass_enc(), opj_mqc_encode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getnmsedec_sig(), opj_t1_getspb(), opj_t1_updateflags(), T1_NMSEDEC_FRACBITS, T1_SGN_S, T1_SIG, T1_SIG_OTH, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, T1_TYPE_RAW, and T1_VISIT.

Referenced by opj_t1_enc_sigpass().

void opj_t1_encode_cblk | ( | opj_t1_t * | t1,
|  | opj_tcd_cblk_enc_t * | cblk,
|  | OPJ_UINT32 | orient,
|  | OPJ_UINT32 | compno,
|  | OPJ_UINT32 | level,
|  | OPJ_UINT32 | qmfbid,
|  | OPJ_FLOAT64 | stepsize,
|  | OPJ_UINT32 | cblksty,
|  | OPJ_UINT32 | numcomps,
|  | opj_tcd_tile_t * | tile,
|  | const OPJ_FLOAT64 * | mct_norms
| ) |  |
| static

mod fixed_quality

References opj_tcd_cblk_enc::data, opj_t1::data, opj_tcd_pass::distortiondec, opj_tcd_tile::distotile, opj_t1::h, J2K_CCP_CBLKSTY_LAZY, J2K_CCP_CBLKSTY_PTERM, J2K_CCP_CBLKSTY_RESET, J2K_CCP_CBLKSTY_SEGSYM, J2K_CCP_CBLKSTY_TERMALL, opj_tcd_pass::len, max(), opj_t1::mqc, opj_tcd_cblk_enc::numbps, opj_int_floorlog2(), opj_int_max(), opj_mqc_bypass_init_enc(), opj_mqc_erterm_enc(), opj_mqc_flush(), opj_mqc_init_enc(), opj_mqc_numbytes(), opj_mqc_reset_enc(), opj_mqc_resetstates(), opj_mqc_restart_init_enc(), opj_mqc_segmark_enc(), opj_mqc_setstate(), opj_t1_enc_clnpass(), opj_t1_enc_refpass(), opj_t1_enc_sigpass(), opj_t1_getwmsedec(), opj_tcd_cblk_enc::passes, opj_tcd_pass::rate, T1_CTXNO_AGG, T1_CTXNO_UNI, T1_CTXNO_ZC, T1_NMSEDEC_FRACBITS, T1_TYPE_MQ, T1_TYPE_RAW, opj_tcd_pass::term, opj_tcd_cblk_enc::totalpasses, and opj_t1::w.

Referenced by opj_t1_encode_cblks().

OPJ_BOOL opj_t1_encode_cblks | ( | opj_t1_t * | t1,
|  | opj_tcd_tile_t * | tile,
|  | opj_tcp_t * | tcp,
|  | const OPJ_FLOAT64 * | mct_norms
| ) |  |

Encode the code-blocks of a tile.

Parameters

  t1 | T1 handle
  tile | The tile to encode
  tcp | Tile coding parameters
  mct_norms | FIXME DOC

References 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, opj_t1::h, opj_tcd_resolution::numbands, opj_tcd_tile::numcomps, opj_tcd_tilecomp::numresolutions, OPJ_FALSE, opj_int_fix_mul(), opj_t1_allocate_buffers(), opj_t1_encode_cblk(), OPJ_TRUE, opj_tcd_resolution::ph, opj_tcd_resolution::pw, opj_tccp::qmfbid, opj_tcd_tilecomp::resolutions, restrict, 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 opj_tcd_t1_encode().

OPJ_UINT32 opj_t1_getctxno_mag | ( | OPJ_UINT32 | f | ) |
| static

References T1_CTXNO_MAG, T1_REFINE, and T1_SIG_OTH.

Referenced by opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), and opj_t1_enc_refpass_step().

OPJ_BYTE opj_t1_getctxno_sc | ( | OPJ_UINT32 | f | ) |
| static

References lut_ctxno_sc, T1_SGN, and T1_SIG_PRIM.

Referenced by opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

OPJ_BYTE opj_t1_getctxno_zc | ( | OPJ_UINT32 | f,
|  | OPJ_UINT32 | orient
| ) |  |
| static

References lut_ctxno_zc, and T1_SIG_OTH.

Referenced by opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

OPJ_INT16 opj_t1_getnmsedec_ref | ( | OPJ_UINT32 | x,
|  | OPJ_UINT32 | bitpos
| ) |  |
| static

References lut_nmsedec_ref, lut_nmsedec_ref0, T1_NMSEDEC_BITS, and T1_NMSEDEC_FRACBITS.

Referenced by opj_t1_enc_refpass_step().

OPJ_INT16 opj_t1_getnmsedec_sig | ( | OPJ_UINT32 | x,
|  | OPJ_UINT32 | bitpos
| ) |  |
| static

References lut_nmsedec_sig, lut_nmsedec_sig0, T1_NMSEDEC_BITS, and T1_NMSEDEC_FRACBITS.

Referenced by opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

OPJ_BYTE opj_t1_getspb | ( | OPJ_UINT32 | f | ) |
| static

References lut_spb, T1_SGN, and T1_SIG_PRIM.

Referenced by opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

static OPJ_FLOAT64 opj_t1_getwmsedec | ( | OPJ_INT32 | nmsedec,
|  | OPJ_UINT32 | compno,
|  | OPJ_UINT32 | level,
|  | OPJ_UINT32 | orient,
|  | OPJ_INT32 | bpno,
|  | OPJ_UINT32 | qmfbid,
|  | OPJ_FLOAT64 | stepsize,
|  | OPJ_UINT32 | numcomps,
|  | const OPJ_FLOAT64 * | mct_norms
| ) |  |
| static

mod fixed_quality

References OPJ_ARG_NOT_USED, opj_dwt_getnorm(), and opj_dwt_getnorm_real().

Referenced by opj_t1_encode_cblk().

void opj_t1_updateflags | ( | opj_flag_t * | flagsp,
|  | OPJ_UINT32 | s,
|  | OPJ_UINT32 | stride
| ) |  |
| static

References T1_SGN_E, T1_SGN_N, T1_SGN_S, T1_SGN_W, T1_SIG, T1_SIG_E, T1_SIG_N, T1_SIG_NE, T1_SIG_NW, T1_SIG_S, T1_SIG_SE, T1_SIG_SW, and T1_SIG_W.

Referenced by opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_raw(), opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().