OpenJPEG: t1.c File Reference

OpenJPEG 2.3.1

Data Structures | Macros | Functions
t1.c File Reference
`#include "opj_includes.h"`
`#include "t1_luts.h"`

## Data Structures
struct | opj_t1_cblk_decode_processing_job_t

## Macros
#define | OPJ_SKIP_POISON
#define | T1_FLAGS(x, y) (t1->flags[x + 1 + ((y / 4) + 1) * (t1->w+2)])
#define | opj_t1_setcurctx(curctx, ctxno) curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)]
#define | opj_t1_update_flags_macro(flags, flagsp, ci, s, stride, vsc)
#define | opj_t1_dec_sigpass_step_mqc_macro(flags, flagsp, flags_stride, data, data_stride, ci, mqc, curctx, v, a, c, ct, oneplushalf, vsc)
#define | opj_t1_dec_sigpass_mqc_internal(t1, bpno, vsc, w, h, flags_stride)
#define | opj_t1_dec_refpass_step_mqc_macro(flags, data, data_stride, ci, mqc, curctx, v, a, c, ct, poshalf)
#define | opj_t1_dec_refpass_mqc_internal(t1, bpno, w, h, flags_stride)
#define | opj_t1_dec_clnpass_step_macro(check_flags, partial, flags, flagsp, flags_stride, data, data_stride, ci, mqc, curctx, v, a, c, ct, oneplushalf, vsc)
#define | opj_t1_dec_clnpass_internal(t1, bpno, vsc, w, h, flags_stride)

## Functions
static INLINE OPJ_UINT32 | opj_t1_getctxtno_sc_or_spb_index (OPJ_UINT32 fX, OPJ_UINT32 pfX, OPJ_UINT32 nfX, OPJ_UINT32 ci)
static INLINE OPJ_BYTE | opj_t1_getctxno_sc (OPJ_UINT32 lu)
static INLINE OPJ_BYTE | opj_t1_getspb (OPJ_UINT32 lu)
static INLINE void | opj_t1_enc_sigpass_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 ci, OPJ_UINT32 vsc)
| Encode significant pass. More...
static void | opj_t1_dec_sigpass_mqc_64x64_novsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_sigpass_mqc_64x64_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_sigpass_mqc_generic_novsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_sigpass_mqc_generic_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_sigpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
static INLINE 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 ci)
| Encode refinement pass step. More...
static void | opj_t1_dec_refpass_mqc_64x64 (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_refpass_mqc_generic (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_refpass_mqc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_enc_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 bpno, OPJ_INT32 one, OPJ_INT32 *nmsedec, OPJ_UINT32 agg, OPJ_UINT32 runlen, OPJ_UINT32 lim, OPJ_UINT32 cblksty)
| Encode clean-up pass step. More...
static void | opj_t1_dec_clnpass_check_segsym (opj_t1_t *t1, OPJ_INT32 cblksty)
static void | opj_t1_dec_clnpass_64x64_novsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_clnpass_64x64_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_clnpass_generic_novsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_clnpass_generic_vsc (opj_t1_t *t1, OPJ_INT32 bpno)
static void | opj_t1_dec_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
opj_t1_t * | opj_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...
static void | opj_t1_destroy_wrapper (void *t1)
static void | opj_t1_clbl_decode_processor (void *user_data, opj_tls_t *tls)
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_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...
static int | opj_t1_enc_is_term_pass (opj_tcd_cblk_enc_t *cblk, OPJ_UINT32 cblksty, OPJ_INT32 bpno, OPJ_UINT32 passtype)
Local static functions
static INLINE OPJ_BYTE | opj_t1_getctxno_zc (opj_mqc_t *mqc, OPJ_UINT32 f)
static INLINE OPJ_UINT32 | opj_t1_getctxno_mag (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 INLINE void | opj_t1_update_flags (opj_flag_t *flagsp, OPJ_UINT32 ci, OPJ_UINT32 s, OPJ_UINT32 stride, OPJ_UINT32 vsc)
static INLINE void | opj_t1_dec_sigpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 oneplushalf, OPJ_UINT32 vsc, OPJ_UINT32 row)
| 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 oneplushalf, OPJ_UINT32 row, OPJ_UINT32 flags_stride, OPJ_UINT32 vsc)
static void | opj_t1_enc_sigpass (opj_t1_t *t1, OPJ_INT32 bpno, 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 cblksty)
| Decode significant pass. More...
static void | opj_t1_enc_refpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_BYTE type)
| Encode refinement pass. More...
static void | opj_t1_dec_refpass_raw (opj_t1_t *t1, OPJ_INT32 bpno)
| Decode refinement pass. More...
static INLINE void | opj_t1_dec_refpass_step_raw (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 poshalf, OPJ_UINT32 row)
| 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_UINT32 row)
static void | opj_t1_dec_clnpass_step (opj_t1_t *t1, opj_flag_t *flagsp, OPJ_INT32 *datap, OPJ_INT32 oneplushalf, OPJ_UINT32 row, OPJ_UINT32 vsc)
| Decode clean-up pass. More...
static void | opj_t1_enc_clnpass (opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_UINT32 cblksty)
| Encode 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, OPJ_UINT32 mct_numcomps)
| 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, OPJ_UINT32 mct_numcomps)
| 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, opj_event_mgr_t *p_manager, opj_mutex_t *p_manager_mutex, OPJ_BOOL check_pterm)
| Decode 1 code-block. More...
static OPJ_BOOL | opj_t1_allocate_buffers (opj_t1_t *t1, OPJ_UINT32 w, OPJ_UINT32 h)

## Macro Definition Documentation

## ◆ OPJ_SKIP_POISON

#define OPJ_SKIP_POISON

## ◆ opj_t1_dec_clnpass_internal

#define opj_t1_dec_clnpass_internal | ( |  | t1,
|  |  | bpno,
|  |  | vsc,
|  |  | w,
|  |  | h,
|  |  | flags_stride
| ) |  |

## ◆ opj_t1_dec_clnpass_step_macro

#define opj_t1_dec_clnpass_step_macro | ( |  | check_flags,
|  |  | partial,
|  |  | flags,
|  |  | flagsp,
|  |  | flags_stride,
|  |  | data,
|  |  | data_stride,
|  |  | ci,
|  |  | mqc,
|  |  | curctx,
|  |  | v,
|  |  | a,
|  |  | c,
|  |  | ct,
|  |  | oneplushalf,
|  |  | vsc
| ) |  |

Value:
{ \
if ( !check_flags || !(flags & ((T1_SIGMA_THIS | T1_PI_THIS) << (ci * 3U)))) {\
do { \
if( !partial ) { \
OPJ_UINT32 ctxt1 = opj_t1_getctxno_zc(mqc, flags >> (ci * 3U)); \
opj_t1_setcurctx(curctx, ctxt1); \
opj_mqc_decode_macro(v, mqc, curctx, a, c, ct); \
if( !v ) \
break; \
} \
{ \
OPJ_UINT32 lu = opj_t1_getctxtno_sc_or_spb_index( \
flags, flagsp[-1], flagsp[1], \
ci); \
opj_t1_setcurctx(curctx, opj_t1_getctxno_sc(lu)); \
opj_mqc_decode_macro(v, mqc, curctx, a, c, ct); \
v = v ^ opj_t1_getspb(lu); \
data[ci*data_stride] = v ? -oneplushalf : oneplushalf; \
opj_t1_update_flags_macro(flags, flagsp, ci, v, flags_stride, vsc); \
} \
} while(0); \
} \
}
opj_t1_getctxno_zc
static INLINE OPJ_BYTE opj_t1_getctxno_zc(opj_mqc_t *mqc, OPJ_UINT32 f)
Definition: t1.c:223
T1_PI_THIS
#define T1_PI_THIS
Definition: t1.h:163
T1_SIGMA_THIS
#define T1_SIGMA_THIS
Definition: t1.h:153
opj_t1_getspb
static INLINE OPJ_BYTE opj_t1_getspb(OPJ_UINT32 lu)
Definition: t1.c:270
opj_t1_getctxtno_sc_or_spb_index
static INLINE OPJ_UINT32 opj_t1_getctxtno_sc_or_spb_index(OPJ_UINT32 fX, OPJ_UINT32 pfX, OPJ_UINT32 nfX, OPJ_UINT32 ci)
Definition: t1.c:228
opj_t1_getctxno_sc
static INLINE OPJ_BYTE opj_t1_getctxno_sc(OPJ_UINT32 lu)
Definition: t1.c:258

## ◆ opj_t1_dec_refpass_mqc_internal

#define opj_t1_dec_refpass_mqc_internal | ( |  | t1,
|  |  | bpno,
|  |  | w,
|  |  | h,
|  |  | flags_stride
| ) |  |

## ◆ opj_t1_dec_refpass_step_mqc_macro

#define opj_t1_dec_refpass_step_mqc_macro | ( |  | flags,
|  |  | data,
|  |  | data_stride,
|  |  | ci,
|  |  | mqc,
|  |  | curctx,
|  |  | v,
|  |  | a,
|  |  | c,
|  |  | ct,
|  |  | poshalf
| ) |  |

Value:
{ \
if ((flags & ((T1_SIGMA_THIS | T1_PI_THIS) << (ci * 3U))) == \
(T1_SIGMA_THIS << (ci * 3U))) { \
OPJ_UINT32 ctxt = opj_t1_getctxno_mag(flags >> (ci * 3U)); \
opj_t1_setcurctx(curctx, ctxt); \
opj_mqc_decode_macro(v, mqc, curctx, a, c, ct); \
data[ci*data_stride] += (v ^ (data[ci*data_stride] < 0)) ? poshalf : -poshalf; \
flags |= T1_MU_THIS << (ci * 3U); \
} \
}
opj_t1_getctxno_mag
static INLINE OPJ_UINT32 opj_t1_getctxno_mag(OPJ_UINT32 f)
Definition: t1.c:263
T1_PI_THIS
#define T1_PI_THIS
Definition: t1.h:163
T1_SIGMA_THIS
#define T1_SIGMA_THIS
Definition: t1.h:153
T1_MU_THIS
#define T1_MU_THIS
Definition: t1.h:162

## ◆ opj_t1_dec_sigpass_mqc_internal

#define opj_t1_dec_sigpass_mqc_internal | ( |  | t1,
|  |  | bpno,
|  |  | vsc,
|  |  | w,
|  |  | h,
|  |  | flags_stride
| ) |  |

## ◆ opj_t1_dec_sigpass_step_mqc_macro

#define opj_t1_dec_sigpass_step_mqc_macro | ( |  | flags,
|  |  | flagsp,
|  |  | flags_stride,
|  |  | data,
|  |  | data_stride,
|  |  | ci,
|  |  | mqc,
|  |  | curctx,
|  |  | v,
|  |  | a,
|  |  | c,
|  |  | ct,
|  |  | oneplushalf,
|  |  | vsc
| ) |  |

Value:
{ \
if ((flags & ((T1_SIGMA_THIS | T1_PI_THIS) << (ci * 3U))) == 0U && \
(flags & (T1_SIGMA_NEIGHBOURS << (ci * 3U))) != 0U) { \
OPJ_UINT32 ctxt1 = opj_t1_getctxno_zc(mqc, flags >> (ci * 3U)); \
opj_t1_setcurctx(curctx, ctxt1); \
opj_mqc_decode_macro(v, mqc, curctx, a, c, ct); \
if (v) { \
OPJ_UINT32 lu = opj_t1_getctxtno_sc_or_spb_index( \
flags, \
flagsp[-1], flagsp[1], \
ci); \
OPJ_UINT32 ctxt2 = opj_t1_getctxno_sc(lu); \
OPJ_UINT32 spb = opj_t1_getspb(lu); \
opj_t1_setcurctx(curctx, ctxt2); \
opj_mqc_decode_macro(v, mqc, curctx, a, c, ct); \
v = v ^ spb; \
data[ci*data_stride] = v ? -oneplushalf : oneplushalf; \
opj_t1_update_flags_macro(flags, flagsp, ci, v, flags_stride, vsc); \
} \
flags |= T1_PI_THIS << (ci * 3U); \
} \
}
opj_t1_getctxno_zc
static INLINE OPJ_BYTE opj_t1_getctxno_zc(opj_mqc_t *mqc, OPJ_UINT32 f)
Definition: t1.c:223
T1_PI_THIS
#define T1_PI_THIS
Definition: t1.h:163
T1_SIGMA_THIS
#define T1_SIGMA_THIS
Definition: t1.h:153
T1_SIGMA_NEIGHBOURS
#define T1_SIGMA_NEIGHBOURS
Definition: t1.h:158
opj_t1_getspb
static INLINE OPJ_BYTE opj_t1_getspb(OPJ_UINT32 lu)
Definition: t1.c:270
opj_t1_getctxtno_sc_or_spb_index
static INLINE OPJ_UINT32 opj_t1_getctxtno_sc_or_spb_index(OPJ_UINT32 fX, OPJ_UINT32 pfX, OPJ_UINT32 nfX, OPJ_UINT32 ci)
Definition: t1.c:228
opj_t1_getctxno_sc
static INLINE OPJ_BYTE opj_t1_getctxno_sc(OPJ_UINT32 lu)
Definition: t1.c:258

## ◆ opj_t1_update_flags_macro

#define opj_t1_update_flags_macro | ( |  | flags,
|  |  | flagsp,
|  |  | ci,
|  |  | s,
|  |  | stride,
|  |  | vsc
| ) |  |

Value:
{ \
/* east */ \
flagsp[-1] |= T1_SIGMA_5 << (3U * ci); \
\
/* mark target as significant */ \
flags |= ((s << T1_CHI_1_I) | T1_SIGMA_4) << (3U * ci); \
\
/* west */ \
flagsp[1] |= T1_SIGMA_3 << (3U * ci); \
\
/* north-west, north, north-east */ \
if (ci == 0U && !(vsc)) { \
opj_flag_t* north = flagsp - (stride); \
*north |= (s << T1_CHI_5_I) | T1_SIGMA_16; \
north[-1] |= T1_SIGMA_17; \
north[1] |= T1_SIGMA_15; \
} \
\
/* south-west, south, south-east */ \
if (ci == 3U) { \
opj_flag_t* south = flagsp + (stride); \
*south |= (s << T1_CHI_0_I) | T1_SIGMA_1; \
south[-1] |= T1_SIGMA_2; \
south[1] |= T1_SIGMA_0; \
} \
}
T1_SIGMA_15
#define T1_SIGMA_15
Definition: t1.h:106
T1_SIGMA_16
#define T1_SIGMA_16
Definition: t1.h:107
T1_CHI_1_I
#define T1_CHI_1_I
Definition: t1.h:113
T1_SIGMA_2
#define T1_SIGMA_2
Definition: t1.h:93
T1_CHI_5_I
#define T1_CHI_5_I
Definition: t1.h:127
T1_SIGMA_17
#define T1_SIGMA_17
Definition: t1.h:108
T1_SIGMA_0
#define T1_SIGMA_0
We hold the state of individual data points for the T1 encoder using a single 32-bit flags word to ho...
Definition: t1.h:91
T1_SIGMA_4
#define T1_SIGMA_4
Definition: t1.h:95
T1_SIGMA_5
#define T1_SIGMA_5
Definition: t1.h:96
T1_SIGMA_3
#define T1_SIGMA_3
Definition: t1.h:94
T1_SIGMA_1
#define T1_SIGMA_1
Definition: t1.h:92
T1_CHI_0_I
#define T1_CHI_0_I
Definition: t1.h:111

## Function Documentation

## ◆ opj_t1_clbl_decode_processor()

static void opj_t1_clbl_decode_processor | ( | void * | user_data,
|  | opj_tls_t * | tls
| ) |  |
| static

References opj_t1_cblk_decode_processing_job_t::band, opj_tcd_band::bandno, opj_t1_cblk_decode_processing_job_t::cblk, opj_tccp::cblksty, opj_t1_cblk_decode_processing_job_t::check_pterm, opj_t1::data, opj_tcd_tilecomp::data, opj_tcd_cblk_dec::decoded_data, EVT_ERROR, opj_t1::h, opj_tcd_tilecomp::minimum_num_resolutions, opj_t1::mustuse_cblkdatabuffer, opj_t1_cblk_decode_processing_job_t::mustuse_cblkdatabuffer, opj_aligned_free(), opj_aligned_malloc(), opj_event_msg(), OPJ_FALSE, opj_free(), opj_mutex_lock(), opj_mutex_unlock(), OPJ_RESTRICT, opj_t1_create(), opj_t1_decode_cblk(), opj_t1_destroy_wrapper(), opj_tls_get(), OPJ_TLS_KEY_T1, opj_tls_set(), opj_t1_cblk_decode_processing_job_t::p_manager, opj_t1_cblk_decode_processing_job_t::p_manager_mutex, opj_t1_cblk_decode_processing_job_t::pret, opj_tccp::qmfbid, opj_t1_cblk_decode_processing_job_t::resno, opj_tcd_tilecomp::resolutions, opj_tccp::roishift, opj_tcd_band::stepsize, opj_t1_cblk_decode_processing_job_t::tccp, opj_t1_cblk_decode_processing_job_t::tilec, opj_t1::w, opj_t1_cblk_decode_processing_job_t::whole_tile_decoding, opj_tcd_cblk_dec::x0, opj_tcd_band::x0, opj_tcd_resolution::x0, opj_tcd_cblk_dec::x1, opj_tcd_resolution::x1, opj_tcd_cblk_dec::y0, opj_tcd_band::y0, opj_tcd_resolution::y0, opj_tcd_cblk_dec::y1, and opj_tcd_resolution::y1.

Referenced by opj_t1_decode_cblks().

## ◆ opj_t1_dec_clnpass()

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

References opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_dec_clnpass_64x64_novsc(), opj_t1_dec_clnpass_64x64_vsc(), opj_t1_dec_clnpass_check_segsym(), opj_t1_dec_clnpass_generic_novsc(), opj_t1_dec_clnpass_generic_vsc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

## ◆ opj_t1_dec_clnpass_64x64_novsc()

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

References OPJ_FALSE, and opj_t1_dec_clnpass_internal.

Referenced by opj_t1_dec_clnpass().

## ◆ opj_t1_dec_clnpass_64x64_vsc()

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

References opj_t1_dec_clnpass_internal, and OPJ_TRUE.

Referenced by opj_t1_dec_clnpass().

## ◆ opj_t1_dec_clnpass_check_segsym()

static void opj_t1_dec_clnpass_check_segsym | ( | opj_t1_t * | t1,
|  | OPJ_INT32 | cblksty
| ) |  |
| static

References J2K_CCP_CBLKSTY_SEGSYM, opj_t1::mqc, opj_mqc_decode, opj_mqc_setcurctx, and T1_CTXNO_UNI.

Referenced by opj_t1_dec_clnpass().

## ◆ opj_t1_dec_clnpass_generic_novsc()

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

References opj_t1::h, OPJ_FALSE, opj_t1_dec_clnpass_internal, and opj_t1::w.

Referenced by opj_t1_dec_clnpass().

## ◆ opj_t1_dec_clnpass_generic_vsc()

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

References opj_t1::h, opj_t1_dec_clnpass_internal, OPJ_TRUE, and opj_t1::w.

Referenced by opj_t1_dec_clnpass().

## ◆ opj_t1_dec_refpass_mqc()

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

References opj_t1::h, opj_t1_dec_refpass_mqc_64x64(), opj_t1_dec_refpass_mqc_generic(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

## ◆ opj_t1_dec_refpass_mqc_64x64()

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

References opj_t1_dec_refpass_mqc_internal.

Referenced by opj_t1_dec_refpass_mqc().

## ◆ opj_t1_dec_refpass_mqc_generic()

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

References opj_t1::h, opj_t1_dec_refpass_mqc_internal, and opj_t1::w.

Referenced by opj_t1_dec_refpass_mqc().

## ◆ opj_t1_dec_sigpass_mqc()

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

References opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1_dec_sigpass_mqc_64x64_novsc(), opj_t1_dec_sigpass_mqc_64x64_vsc(), opj_t1_dec_sigpass_mqc_generic_novsc(), opj_t1_dec_sigpass_mqc_generic_vsc(), and opj_t1::w.

Referenced by opj_t1_decode_cblk().

## ◆ opj_t1_dec_sigpass_mqc_64x64_novsc()

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

References OPJ_FALSE, and opj_t1_dec_sigpass_mqc_internal.

Referenced by opj_t1_dec_sigpass_mqc().

## ◆ opj_t1_dec_sigpass_mqc_64x64_vsc()

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

References opj_t1_dec_sigpass_mqc_internal, and OPJ_TRUE.

Referenced by opj_t1_dec_sigpass_mqc().

## ◆ opj_t1_dec_sigpass_mqc_generic_novsc()

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

References opj_t1::h, OPJ_FALSE, opj_t1_dec_sigpass_mqc_internal, and opj_t1::w.

Referenced by opj_t1_dec_sigpass_mqc().

## ◆ opj_t1_dec_sigpass_mqc_generic_vsc()

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

References opj_t1::h, opj_t1_dec_sigpass_mqc_internal, OPJ_TRUE, and opj_t1::w.

Referenced by opj_t1_dec_sigpass_mqc().

## ◆ opj_t1_destroy_wrapper()

static void opj_t1_destroy_wrapper | ( | void * | t1 | ) |
| static

References opj_t1_destroy().

Referenced by opj_t1_clbl_decode_processor().

## ◆ opj_t1_enc_clnpass_step()

static void opj_t1_enc_clnpass_step | ( | opj_t1_t * | t1,
|  | opj_flag_t * | flagsp,
|  | OPJ_INT32 * | datap,
|  | OPJ_INT32 | bpno,
|  | OPJ_INT32 | one,
|  | OPJ_INT32 * | nmsedec,
|  | OPJ_UINT32 | agg,
|  | OPJ_UINT32 | runlen,
|  | OPJ_UINT32 | lim,
|  | OPJ_UINT32 | cblksty
| ) |  |
| static

Encode clean-up pass step.

References opj_t1::data_stride, J2K_CCP_CBLKSTY_VSC, opj_t1::mqc, opj_int_abs(), opj_mqc_encode(), opj_mqc_setcurctx, opj_t1_getctxno_sc(), opj_t1_getctxno_zc(), opj_t1_getctxtno_sc_or_spb_index(), opj_t1_getnmsedec_sig(), opj_t1_getspb(), opj_t1_update_flags(), T1_PI_0, T1_PI_1, T1_PI_2, T1_PI_3, T1_PI_THIS, T1_SIGMA_10, T1_SIGMA_13, T1_SIGMA_4, T1_SIGMA_7, T1_SIGMA_THIS, and opj_t1::w.

Referenced by opj_t1_enc_clnpass().

## ◆ opj_t1_enc_is_term_pass()

static int opj_t1_enc_is_term_pass | ( | opj_tcd_cblk_enc_t * | cblk,
|  | OPJ_UINT32 | cblksty,
|  | OPJ_INT32 | bpno,
|  | OPJ_UINT32 | passtype
| ) |  |
| static

References J2K_CCP_CBLKSTY_LAZY, J2K_CCP_CBLKSTY_TERMALL, opj_tcd_cblk_enc::numbps, OPJ_FALSE, and OPJ_TRUE.

Referenced by opj_t1_encode_cblk().

## ◆ opj_t1_enc_refpass_step()

static INLINE 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 | ci
| ) |  |
| static

Encode refinement pass step.

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_MU_THIS, T1_PI_THIS, T1_SIGMA_THIS, and T1_TYPE_RAW.

Referenced by opj_t1_enc_refpass().

## ◆ opj_t1_enc_sigpass_step()

static INLINE void opj_t1_enc_sigpass_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 | ci,
|  | OPJ_UINT32 | vsc
| ) |  |
| static

Encode significant pass.

References 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_getctxtno_sc_or_spb_index(), opj_t1_getnmsedec_sig(), opj_t1_getspb(), opj_t1_update_flags(), T1_PI_THIS, T1_SIGMA_NEIGHBOURS, T1_SIGMA_THIS, T1_TYPE_RAW, and opj_t1::w.

Referenced by opj_t1_enc_sigpass().

## ◆ opj_t1_getctxno_sc()

static INLINE OPJ_BYTE opj_t1_getctxno_sc | ( | OPJ_UINT32 | lu | ) |
| static

References lut_ctxno_sc.

Referenced by opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

## ◆ opj_t1_getctxtno_sc_or_spb_index()

static INLINE OPJ_UINT32 opj_t1_getctxtno_sc_or_spb_index | ( | OPJ_UINT32 | fX,
|  | OPJ_UINT32 | pfX,
|  | OPJ_UINT32 | nfX,
|  | OPJ_UINT32 | ci
| ) |  |
| static

References T1_CHI_0_I, T1_CHI_1_I, T1_CHI_2_I, T1_CHI_THIS_I, T1_SIGMA_1, T1_SIGMA_3, T1_SIGMA_5, and T1_SIGMA_7.

Referenced by opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().

## ◆ opj_t1_getspb()

static INLINE OPJ_BYTE opj_t1_getspb | ( | OPJ_UINT32 | lu | ) |
| static

References lut_spb.

Referenced by opj_t1_enc_clnpass_step(), and opj_t1_enc_sigpass_step().