OpenJPEG
2.5.0
|
Data Structures | |
struct | opj_t1_cblk_decode_processing_job_t |
struct | opj_t1_cblk_encode_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_smr_abs(x) (((OPJ_UINT32)(x)) & 0x7FFFFFFFU) |
#define | opj_smr_sign(x) (((OPJ_UINT32)(x)) >> 31) |
#define | opj_to_smr(x) ((x) >= 0 ? (OPJ_UINT32)(x) : ((OPJ_UINT32)(-x) | 0x80000000U)) |
Local static functions | |
#define | opj_t1_update_flags_macro(flags, flagsp, ci, s, stride, vsc) |
#define | opj_t1_enc_sigpass_step_macro(mqc, curctx, a, c, ct, flagspIn, datapIn, bpno, one, nmsedec, type, ciIn, vscIn) |
Encode significant pass. More... | |
#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_enc_refpass_step_macro(mqc, curctx, a, c, ct, flags, flagsUpdated, datap, bpno, one, nmsedec, type, ci) |
Encode refinement pass step. More... | |
#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_enc_clnpass_step_macro(mqc, curctx, a, c, ct, flagspIn, datapIn, bpno, one, nmsedec, agg, runlen, lim, cblksty) |
Encode clean-up pass step. More... | |
#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) |
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 double | 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, const OPJ_FLOAT64 *mct_norms, OPJ_UINT32 mct_numcomps) |
Return "cumwmsedec" that should be used to increase tile->distotile. 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... | |
OPJ_BOOL | opj_t1_ht_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 HT code-block. More... | |
static OPJ_BOOL | opj_t1_allocate_buffers (opj_t1_t *t1, OPJ_UINT32 w, OPJ_UINT32 h) |
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 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 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_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... | |
static void | opj_t1_cblk_encode_processor (void *user_data, opj_tls_t *tls) |
Procedure to deal with a asynchronous code-block encoding job. More... | |
OPJ_BOOL | opj_t1_encode_cblks (opj_tcd_t *tcd, 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) |
#define OPJ_SKIP_POISON |
#define opj_smr_abs | ( | x | ) | (((OPJ_UINT32)(x)) & 0x7FFFFFFFU) |
#define opj_smr_sign | ( | x | ) | (((OPJ_UINT32)(x)) >> 31) |
#define opj_t1_dec_clnpass_internal | ( | t1, | |
bpno, | |||
vsc, | |||
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_refpass_mqc_internal | ( | t1, | |
bpno, | |||
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_sigpass_mqc_internal | ( | t1, | |
bpno, | |||
vsc, | |||
w, | |||
h, | |||
flags_stride | |||
) |
#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_enc_clnpass_step_macro | ( | mqc, | |
curctx, | |||
a, | |||
c, | |||
ct, | |||
flagspIn, | |||
datapIn, | |||
bpno, | |||
one, | |||
nmsedec, | |||
agg, | |||
runlen, | |||
lim, | |||
cblksty | |||
) |
Encode clean-up pass step.
#define opj_t1_enc_refpass_step_macro | ( | mqc, | |
curctx, | |||
a, | |||
c, | |||
ct, | |||
flags, | |||
flagsUpdated, | |||
datap, | |||
bpno, | |||
one, | |||
nmsedec, | |||
type, | |||
ci | |||
) |
Encode refinement pass step.
#define opj_t1_enc_sigpass_step_macro | ( | mqc, | |
curctx, | |||
a, | |||
c, | |||
ct, | |||
flagspIn, | |||
datapIn, | |||
bpno, | |||
one, | |||
nmsedec, | |||
type, | |||
ciIn, | |||
vscIn | |||
) |
Encode significant pass.
#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_to_smr | ( | x | ) | ((x) >= 0 ? (OPJ_UINT32)(x) : ((OPJ_UINT32)(-x) | 0x80000000U)) |
#define T1_FLAGS | ( | x, | |
y | |||
) | (t1->flags[x + 1 + ((y / 4) + 1) * (t1->w+2)]) |
|
static |
References opj_t1::data, opj_t1::datasize, opj_t1::flags, opj_t1::flagssize, opj_t1::h, opj_aligned_free(), opj_aligned_malloc(), OPJ_FALSE, OPJ_TRUE, T1_PI_0, T1_PI_1, T1_PI_2, T1_PI_3, and opj_t1::w.
Referenced by opj_t1_cblk_encode_processor(), and opj_t1_decode_cblk().
|
static |
Procedure to deal with a asynchronous code-block encoding job.
user_data | Pointer to a opj_t1_cblk_encode_processing_job_t* structure |
tls | TLS handle. |
References opj_t1_cblk_encode_processing_job_t::band, opj_tcd_band::bandno, opj_t1_cblk_encode_processing_job_t::cblk, opj_tccp::cblksty, opj_t1_cblk_encode_processing_job_t::compno, opj_t1::data, opj_tcd_tilecomp::data, opj_tcd_tile::distotile, opj_t1::h, opj_t1_cblk_encode_processing_job_t::mct_norms, opj_t1_cblk_encode_processing_job_t::mct_numcomps, opj_t1_cblk_encode_processing_job_t::mutex, opj_tcd_tile::numcomps, opj_tcd_tilecomp::numresolutions, OPJ_FALSE, opj_free(), opj_lrintf(), opj_mutex_lock(), opj_mutex_unlock(), OPJ_RESTRICT, opj_t1_allocate_buffers(), opj_t1_create(), opj_t1_destroy_wrapper(), opj_t1_encode_cblk(), opj_tls_get(), OPJ_TLS_KEY_T1, opj_tls_set(), OPJ_TRUE, opj_t1_cblk_encode_processing_job_t::pret, opj_tccp::qmfbid, opj_t1_cblk_encode_processing_job_t::resno, opj_tcd_tilecomp::resolutions, opj_tcd_band::stepsize, T1_NMSEDEC_FRACBITS, opj_t1_cblk_encode_processing_job_t::tccp, opj_t1_cblk_encode_processing_job_t::tile, opj_t1_cblk_encode_processing_job_t::tilec, opj_t1::w, opj_tcd_cblk_enc::x0, opj_tcd_band::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_band::y0, opj_tcd_resolution::y0, opj_tcd_cblk_enc::y1, and opj_tcd_resolution::y1.
Referenced by opj_t1_encode_cblks().
|
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, J2K_CCP_CBLKSTY_HT, 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(), opj_t1_destroy_wrapper(), opj_t1_ht_decode_cblk(), 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().
Creates a new Tier 1 handle and initializes the look-up tables of the Tier-1 coder/decoder.
References opj_t1::encoder, and opj_calloc().
Referenced by opj_t1_cblk_encode_processor(), and opj_t1_clbl_decode_processor().
References OPJ_FALSE, and opj_t1_dec_clnpass_internal.
Referenced by opj_t1_dec_clnpass().
References opj_t1_dec_clnpass_internal, and OPJ_TRUE.
Referenced by opj_t1_dec_clnpass().
References J2K_CCP_CBLKSTY_SEGSYM, opj_t1::mqc, opj_mqc_decode, opj_mqc_setcurctx, and T1_CTXNO_UNI.
Referenced by opj_t1_dec_clnpass().
References opj_t1::h, OPJ_FALSE, opj_t1_dec_clnpass_internal, and opj_t1::w.
Referenced by opj_t1_dec_clnpass().
References opj_t1::h, opj_t1_dec_clnpass_internal, OPJ_TRUE, and opj_t1::w.
Referenced by opj_t1_dec_clnpass().
|
static |
Decode clean-up pass.
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, opj_mqc::curctx, opj_t1::mqc, OPJ_FALSE, opj_t1_dec_clnpass_step_macro, OPJ_TRUE, and opj_t1::w.
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().
References opj_t1_dec_refpass_mqc_internal.
Referenced by opj_t1_dec_refpass_mqc().
References opj_t1::h, opj_t1_dec_refpass_mqc_internal, and opj_t1::w.
Referenced by opj_t1_dec_refpass_mqc().
Decode refinement pass.
References opj_t1::data, opj_t1::h, opj_t1_dec_refpass_step_raw(), T1_FLAGS, and opj_t1::w.
Referenced by opj_t1_decode_cblk().
|
static |
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, opj_mqc::curctx, opj_t1::mqc, and opj_t1_dec_refpass_step_mqc_macro.
|
static |
Decode refinement pass.
References opj_t1::mqc, opj_mqc_raw_decode(), T1_MU_THIS, T1_PI_THIS, and T1_SIGMA_THIS.
Referenced by opj_t1_dec_refpass_raw().
References OPJ_FALSE, and opj_t1_dec_sigpass_mqc_internal.
Referenced by opj_t1_dec_sigpass_mqc().
References opj_t1_dec_sigpass_mqc_internal, and OPJ_TRUE.
Referenced by opj_t1_dec_sigpass_mqc().
References opj_t1::h, OPJ_FALSE, opj_t1_dec_sigpass_mqc_internal, and opj_t1::w.
Referenced by opj_t1_dec_sigpass_mqc().
References opj_t1::h, opj_t1_dec_sigpass_mqc_internal, OPJ_TRUE, and opj_t1::w.
Referenced by opj_t1_dec_sigpass_mqc().
Decode significant pass.
References opj_t1::data, opj_t1::h, J2K_CCP_CBLKSTY_VSC, OPJ_FALSE, opj_t1_dec_sigpass_step_raw(), T1_FLAGS, and opj_t1::w.
Referenced by opj_t1_decode_cblk().
|
static |
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, opj_mqc::curctx, opj_t1::mqc, and opj_t1_dec_sigpass_step_mqc_macro.
|
static |
Decode significant pass.
References opj_t1::mqc, opj_mqc_raw_decode(), opj_t1_update_flags(), T1_PI_THIS, T1_SIGMA_NEIGHBOURS, T1_SIGMA_THIS, and opj_t1::w.
Referenced by opj_t1_dec_sigpass_raw().
|
static |
Decode 1 code-block.
t1 | T1 handle |
cblk | Code-block coding parameters |
orient | |
roishift | Region of interest shifting value |
cblksty | Code-block style |
p_manager | the event manager |
p_manager_mutex | mutex for the event manager |
check_pterm | whether PTERM correct termination should be checked |
References opj_mqc::bp, opj_t1::cblkdatabuffer, opj_t1::cblkdatabuffersize, opj_tcd_cblk_dec::chunks, opj_tcd_seg_data_chunk::data, opj_t1::data, opj_tcd_cblk_dec::decoded_data, opj_mqc::end, opj_mqc::end_of_byte_stream_counter, EVT_WARNING, J2K_CCP_CBLKSTY_LAZY, J2K_CCP_CBLKSTY_RESET, opj_tcd_seg_data_chunk::len, opj_tcd_seg::len, lut_ctxno_zc, opj_mqc::lut_ctxno_zc_orient, opj_t1::mqc, opj_t1::mustuse_cblkdatabuffer, opj_tcd_cblk_dec::numbps, opj_tcd_cblk_dec::numchunks, OPJ_COMMON_CBLK_DATA_EXTRA, opj_event_msg(), OPJ_FALSE, opj_mqc_init_dec(), opj_mqc_raw_init_dec(), opj_mqc_resetstates(), opj_mqc_setstate(), opj_mutex_lock(), opj_mutex_unlock(), opj_realloc(), opj_t1_allocate_buffers(), opj_t1_dec_clnpass(), opj_t1_dec_refpass_mqc(), opj_t1_dec_refpass_raw(), opj_t1_dec_sigpass_mqc(), opj_t1_dec_sigpass_raw(), OPJ_TRUE, opq_mqc_finish_dec(), opj_tcd_seg::real_num_passes, opj_tcd_cblk_dec::real_num_segs, opj_tcd_cblk_dec::segs, opj_mqc::start, 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_clbl_decode_processor().
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.
tcd | TCD handle |
pret | Pointer to return value |
tilec | The tile to decode |
tccp | Tile coding parameters |
p_manager | the event manager |
p_manager_mutex | mutex for the event manager |
check_pterm | whether PTERM correct termination should be checked |
References opj_t1_cblk_decode_processing_job_t::band, opj_tcd_resolution::bands, opj_t1_cblk_decode_processing_job_t::cblk, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_t1_cblk_decode_processing_job_t::check_pterm, opj_tcd_tilecomp::compno, opj_tcd_precinct::cw, opj_tcd_precinct::dec, opj_tcd_cblk_dec::decoded_data, opj_tcd_tilecomp::minimum_num_resolutions, opj_t1_cblk_decode_processing_job_t::mustuse_cblkdatabuffer, opj_tcd_resolution::numbands, opj_aligned_free(), opj_calloc(), OPJ_FALSE, OPJ_RESTRICT, opj_t1_clbl_decode_processor(), opj_tcd_is_subband_area_of_interest(), opj_thread_pool_get_thread_count(), opj_thread_pool_submit_job(), opj_t1_cblk_decode_processing_job_t::p_manager, opj_t1_cblk_decode_processing_job_t::p_manager_mutex, opj_tcd_resolution::ph, opj_t1_cblk_decode_processing_job_t::pret, opj_tcd_resolution::pw, opj_t1_cblk_decode_processing_job_t::resno, opj_tcd_tilecomp::resolutions, opj_t1_cblk_decode_processing_job_t::tccp, opj_tcd::thread_pool, opj_t1_cblk_decode_processing_job_t::tilec, opj_tcd::whole_tile_decoding, opj_t1_cblk_decode_processing_job_t::whole_tile_decoding, opj_tcd_cblk_dec::x0, opj_tcd_precinct::x0, opj_tcd_cblk_dec::x1, opj_tcd_precinct::x1, opj_tcd_cblk_dec::y0, opj_tcd_precinct::y0, opj_tcd_cblk_dec::y1, and opj_tcd_precinct::y1.
Referenced by opj_tcd_t1_decode().
void opj_t1_destroy | ( | opj_t1_t * | p_t1 | ) |
Destroys a previously created T1 handle.
p_t1 | Tier 1 handle to destroy |
References opj_t1::cblkdatabuffer, opj_t1::data, opj_t1::flags, opj_aligned_free(), and opj_free().
Referenced by opj_t1_clbl_decode_processor(), and opj_t1_destroy_wrapper().
|
static |
References opj_t1_destroy().
Referenced by opj_t1_cblk_encode_processor(), and opj_t1_clbl_decode_processor().
|
static |
Encode clean-up pass.
References opj_t1::data, DOWNLOAD_MQC_VARIABLES, opj_t1::h, opj_t1::mqc, opj_mqc_encode_macro, opj_smr_abs, opj_t1_enc_clnpass_step_macro, opj_t1_setcurctx, T1_CTXNO_AGG, T1_CTXNO_UNI, T1_FLAGS, T1_NMSEDEC_FRACBITS, UPLOAD_MQC_VARIABLES, and opj_t1::w.
Referenced by opj_t1_encode_cblk().
|
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().
|
static |
Encode refinement pass.
References opj_t1::data, DOWNLOAD_MQC_VARIABLES, opj_t1::h, opj_t1::mqc, opj_t1_enc_refpass_step_macro, T1_FLAGS, T1_NMSEDEC_FRACBITS, T1_PI_0, T1_PI_1, T1_PI_2, T1_PI_3, T1_SIGMA_10, T1_SIGMA_13, T1_SIGMA_4, T1_SIGMA_7, UPLOAD_MQC_VARIABLES, and opj_t1::w.
Referenced by opj_t1_encode_cblk().
|
static |
Encode significant pass.
References opj_t1::data, DOWNLOAD_MQC_VARIABLES, opj_t1::h, J2K_CCP_CBLKSTY_VSC, opj_t1::mqc, opj_t1_enc_sigpass_step_macro, T1_FLAGS, T1_NMSEDEC_FRACBITS, UPLOAD_MQC_VARIABLES, and opj_t1::w.
Referenced by opj_t1_encode_cblk().
|
static |
Return "cumwmsedec" that should be used to increase tile->distotile.
mod fixed_quality
References opj_tcd_cblk_enc::data, opj_t1::data, opj_tcd_pass::distortiondec, opj_t1::h, J2K_CCP_CBLKSTY_LAZY, J2K_CCP_CBLKSTY_PTERM, J2K_CCP_CBLKSTY_RESET, J2K_CCP_CBLKSTY_SEGSYM, opj_tcd_pass::len, lut_ctxno_zc, opj_mqc::lut_ctxno_zc_orient, max(), opj_t1::mqc, opj_tcd_cblk_enc::numbps, opj_int_floorlog2(), opj_int_max(), opj_mqc_bypass_flush_enc(), opj_mqc_bypass_get_extra_bytes(), 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_is_term_pass(), opj_t1_enc_refpass(), opj_t1_enc_sigpass(), opj_t1_getwmsedec(), opj_to_smr, 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, opj_t1::w, opj_tcd_cblk_enc::x0, opj_tcd_cblk_enc::x1, opj_tcd_cblk_enc::y0, and opj_tcd_cblk_enc::y1.
Referenced by opj_t1_cblk_encode_processor().
OPJ_BOOL opj_t1_encode_cblks | ( | opj_tcd_t * | tcd, |
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.
tcd | TCD handle |
tile | The tile to encode |
tcp | Tile coding parameters |
mct_norms | FIXME DOC |
mct_numcomps | Number of components used for MCT |
References opj_t1_cblk_encode_processing_job_t::band, opj_tcd_resolution::bands, opj_t1_cblk_encode_processing_job_t::cblk, opj_tcd_precinct::cblks, opj_tcd_precinct::ch, opj_t1_cblk_encode_processing_job_t::compno, opj_tcd_tile::comps, opj_tcd_precinct::cw, opj_tcd_tile::distotile, opj_tcd_precinct::enc, opj_t1_cblk_encode_processing_job_t::mct_norms, opj_t1_cblk_encode_processing_job_t::mct_numcomps, opj_t1_cblk_encode_processing_job_t::mutex, opj_tcd_resolution::numbands, opj_tcd_tile::numcomps, opj_tcd_tilecomp::numresolutions, opj_calloc(), OPJ_FALSE, opj_mutex_create(), opj_mutex_destroy(), OPJ_RESTRICT, opj_t1_cblk_encode_processor(), opj_tcd_is_band_empty(), opj_thread_pool_submit_job(), opj_thread_pool_wait_completion(), OPJ_TRUE, opj_tcd_resolution::ph, opj_t1_cblk_encode_processing_job_t::pret, opj_tcd_resolution::pw, opj_t1_cblk_encode_processing_job_t::resno, opj_tcd_tilecomp::resolutions, opj_t1_cblk_encode_processing_job_t::tccp, tcp, opj_tcd::thread_pool, opj_t1_cblk_encode_processing_job_t::tile, and opj_t1_cblk_encode_processing_job_t::tilec.
Referenced by opj_tcd_t1_encode().
|
static |
References T1_CTXNO_MAG, T1_MU_0, and T1_SIGMA_NEIGHBOURS.
|
static |
References lut_ctxno_sc.
|
static |
References opj_mqc::lut_ctxno_zc_orient, and T1_SIGMA_NEIGHBOURS.
|
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.
|
static |
References lut_nmsedec_ref, lut_nmsedec_ref0, and T1_NMSEDEC_BITS.
|
static |
References lut_nmsedec_sig, lut_nmsedec_sig0, and T1_NMSEDEC_BITS.
|
static |
References lut_spb.
|
static |
mod fixed_quality
References OPJ_ARG_NOT_USED, opj_dwt_getnorm(), and opj_dwt_getnorm_real().
Referenced by opj_t1_encode_cblk().
OPJ_BOOL opj_t1_ht_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 HT code-block.
t1 | T1 handle |
cblk | Code-block coding parameters |
orient | |
roishift | Region of interest shifting value |
cblksty | Code-block style |
p_manager | the event manager |
p_manager_mutex | mutex for the event manager |
check_pterm | whether PTERM correct termination should be checked |
Decode 1 HT code-block.
[in,out] | t1 | is codeblock cofficients storage |
[in] | cblk | is codeblock properties |
[in] | orient | is the subband to which the codeblock belongs (not needed) |
[in] | roishift | is region of interest shift |
[in] | cblksty | is codeblock style |
[in] | p_manager | is events print manager |
[in] | p_manager_mutex | a mutex to control access to p_manager |
[in] | check_pterm | check termination (not used) |
State storage One byte per quad; for 1024 columns, or 512 quads, we need 512 bytes. We are using 2 extra bytes one on the left and one on the right for convenience.
The MSB bit in each byte is (\sigma^nw | \sigma^n), and the 7 LSBs contain max(E^nw | E^n)
References opj_tcd_cblk_dec::chunks, EVT_ERROR, J2K_CCP_CBLKSTY_VSC, opj_tcd_seg_data_chunk::len, opj_tcd_cblk_dec::Mb, opj_tcd_cblk_dec::numbps, opj_tcd_cblk_dec::numchunks, opj_event_msg(), OPJ_FALSE, opj_mutex_lock(), opj_mutex_unlock(), opj_t1_allocate_buffers(), OPJ_TRUE, 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_clbl_decode_processor().
|
static |
References opj_t1_update_flags_macro.
Referenced by opj_t1_dec_sigpass_step_raw().