OpenJPEG 2.3.1

t1.h
Go to the documentation of this file.
1 /*
2 * The copyright in this software is being made available under the 2-clauses
3 * BSD License, included below. This software may be subject to other third
4 * party and contributor rights, including patent rights, and no such rights
5 * are granted under this license.
6 *
7 * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium
8 * Copyright (c) 2002-2014, Professor Benoit Macq
9 * Copyright (c) 2001-2003, David Janssens
10 * Copyright (c) 2002-2003, Yannick Verschueren
11 * Copyright (c) 2003-2007, Francois-Olivier Devaux
12 * Copyright (c) 2003-2014, Antonin Descampe
13 * Copyright (c) 2005, Herve Drolon, FreeImage Team
14 * Copyright (c) 2012, Carl Hetherington
15 * Copyright (c) 2017, IntoPIX SA <support@intopix.com>
16 * All rights reserved.
17 *
18 * Redistribution and use in source and binary forms, with or without
19 * modification, are permitted provided that the following conditions
20 * are met:
21 * 1. Redistributions of source code must retain the above copyright
22 * notice, this list of conditions and the following disclaimer.
23 * 2. Redistributions in binary form must reproduce the above copyright
24 * notice, this list of conditions and the following disclaimer in the
25 * documentation and/or other materials provided with the distribution.
26 *
27 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
28 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
31 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 * POSSIBILITY OF SUCH DAMAGE.
38 */
39 #ifndef OPJ_T1_H
40 #define OPJ_T1_H
41
51
52 /* ----------------------------------------------------------------------- */
53 #define T1_NMSEDEC_BITS 7
54
55 #define T1_NUMCTXS_ZC 9
56 #define T1_NUMCTXS_SC 5
57 #define T1_NUMCTXS_MAG 3
58 #define T1_NUMCTXS_AGG 1
59 #define T1_NUMCTXS_UNI 1
60
61 #define T1_CTXNO_ZC 0
62 #define T1_CTXNO_SC (T1_CTXNO_ZC+T1_NUMCTXS_ZC)
63 #define T1_CTXNO_MAG (T1_CTXNO_SC+T1_NUMCTXS_SC)
64 #define T1_CTXNO_AGG (T1_CTXNO_MAG+T1_NUMCTXS_MAG)
65 #define T1_CTXNO_UNI (T1_CTXNO_AGG+T1_NUMCTXS_AGG)
66 #define T1_NUMCTXS (T1_CTXNO_UNI+T1_NUMCTXS_UNI)
67
68 #define T1_NMSEDEC_FRACBITS (T1_NMSEDEC_BITS-1)
69
70 #define T1_TYPE_MQ 0
71 #define T1_TYPE_RAW 1
73 /* BEGINNING of flags that apply to opj_flag_t */
74
85 /* SIGMA: significance state (3 cols x 6 rows)
86 * CHI: state for negative sample value (1 col x 6 rows)
87 * MU: state for visited in refinement pass (1 col x 4 rows)
88 * PI: state for visited in significance pass (1 col * 4 rows)
89 */
90
91 #define T1_SIGMA_0 (1U << 0)
92 #define T1_SIGMA_1 (1U << 1)
93 #define T1_SIGMA_2 (1U << 2)
94 #define T1_SIGMA_3 (1U << 3)
95 #define T1_SIGMA_4 (1U << 4)
96 #define T1_SIGMA_5 (1U << 5)
97 #define T1_SIGMA_6 (1U << 6)
98 #define T1_SIGMA_7 (1U << 7)
99 #define T1_SIGMA_8 (1U << 8)
100 #define T1_SIGMA_9 (1U << 9)
101 #define T1_SIGMA_10 (1U << 10)
102 #define T1_SIGMA_11 (1U << 11)
103 #define T1_SIGMA_12 (1U << 12)
104 #define T1_SIGMA_13 (1U << 13)
105 #define T1_SIGMA_14 (1U << 14)
106 #define T1_SIGMA_15 (1U << 15)
107 #define T1_SIGMA_16 (1U << 16)
108 #define T1_SIGMA_17 (1U << 17)
109
110 #define T1_CHI_0 (1U << 18)
111 #define T1_CHI_0_I 18
112 #define T1_CHI_1 (1U << 19)
113 #define T1_CHI_1_I 19
114 #define T1_MU_0 (1U << 20)
115 #define T1_PI_0 (1U << 21)
116 #define T1_CHI_2 (1U << 22)
117 #define T1_CHI_2_I 22
118 #define T1_MU_1 (1U << 23)
119 #define T1_PI_1 (1U << 24)
120 #define T1_CHI_3 (1U << 25)
121 #define T1_MU_2 (1U << 26)
122 #define T1_PI_2 (1U << 27)
123 #define T1_CHI_4 (1U << 28)
124 #define T1_MU_3 (1U << 29)
125 #define T1_PI_3 (1U << 30)
126 #define T1_CHI_5 (1U << 31)
127 #define T1_CHI_5_I 31
128
149 #define T1_SIGMA_NW T1_SIGMA_0
150 #define T1_SIGMA_N T1_SIGMA_1
151 #define T1_SIGMA_NE T1_SIGMA_2
152 #define T1_SIGMA_W T1_SIGMA_3
153 #define T1_SIGMA_THIS T1_SIGMA_4
154 #define T1_SIGMA_E T1_SIGMA_5
155 #define T1_SIGMA_SW T1_SIGMA_6
156 #define T1_SIGMA_S T1_SIGMA_7
157 #define T1_SIGMA_SE T1_SIGMA_8
158 #define T1_SIGMA_NEIGHBOURS (T1_SIGMA_NW | T1_SIGMA_N | T1_SIGMA_NE | T1_SIGMA_W | T1_SIGMA_E | T1_SIGMA_SW | T1_SIGMA_S | T1_SIGMA_SE)
159
160 #define T1_CHI_THIS T1_CHI_1
161 #define T1_CHI_THIS_I T1_CHI_1_I
162 #define T1_MU_THIS T1_MU_0
163 #define T1_PI_THIS T1_PI_0
164 #define T1_CHI_S T1_CHI_2
165
166 #define T1_LUT_SGN_W (1U << 0)
167 #define T1_LUT_SIG_N (1U << 1)
168 #define T1_LUT_SGN_E (1U << 2)
169 #define T1_LUT_SIG_W (1U << 3)
170 #define T1_LUT_SGN_N (1U << 4)
171 #define T1_LUT_SIG_E (1U << 5)
172 #define T1_LUT_SGN_S (1U << 6)
173 #define T1_LUT_SIG_S (1U << 7)
174 /* END of flags that apply to opj_flag_t */
175
176 /* ----------------------------------------------------------------------- */
177
179 typedef OPJ_UINT32 opj_flag_t;
180
184 typedef struct opj_t1 {
185
187 opj_mqc_t mqc;
188
189 OPJ_INT32 *data;
195 opj_flag_t *flags;
196
197 OPJ_UINT32 w;
198 OPJ_UINT32 h;
199 OPJ_UINT32 datasize;
200 OPJ_UINT32 flagssize;
201 OPJ_BOOL encoder;
202
203 /* Thre 3 variables below are only used by the decoder */
204 /* set to TRUE in multithreaded context */
205 OPJ_BOOL mustuse_cblkdatabuffer;
206 /* Temporary buffer to concatenate all chunks of a codebock */
207 OPJ_BYTE *cblkdatabuffer;
208 /* Maximum size available in cblkdatabuffer */
209 OPJ_UINT32 cblkdatabuffersize;
210 } opj_t1_t;
211
214 /* ----------------------------------------------------------------------- */
215
224 OPJ_BOOL opj_t1_encode_cblks(opj_tcd_t* tcd,
225 opj_tcd_tile_t *tile,
226 opj_tcp_t *tcp,
227 const OPJ_FLOAT64 * mct_norms,
228 OPJ_UINT32 mct_numcomps);
229
240 void opj_t1_decode_cblks(opj_tcd_t* tcd,
241 volatile OPJ_BOOL* pret,
242 opj_tcd_tilecomp_t* tilec,
243 opj_tccp_t* tccp,
244 opj_event_mgr_t *p_manager,
245 opj_mutex_t* p_manager_mutex,
246 OPJ_BOOL check_pterm);
247
248
249
255 opj_t1_t* opj_t1_create(OPJ_BOOL isEncoder);
256
262 void opj_t1_destroy(opj_t1_t *p_t1);
263 /* ----------------------------------------------------------------------- */
267
268 #endif /* OPJ_T1_H */
opj_t1_dec_sigpass_mqc_64x64_novsc
static void opj_t1_dec_sigpass_mqc_64x64_novsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:666
T1_MU_THIS
#define T1_MU_THIS
Definition: t1.h:162
opj_tcd_precinct::cw
OPJ_UINT32 cw
Definition: tcd.h:145
J2K_CCP_CBLKSTY_PTERM
#define J2K_CCP_CBLKSTY_PTERM
Predictable termination.
Definition: j2k.h:62
OPJ_BYTE
unsigned char OPJ_BYTE
Definition: openjpeg.h:117
opj_tls_t
Definition: thread.c:504
OPJ_FLOAT32
float OPJ_FLOAT32
Definition: openjpeg.h:115
opj_tcd_cblk_dec::decoded_data
OPJ_INT32 * decoded_data
Definition: tcd.h:138
opj_t1_cblk_encode_processing_job_t::tccp
opj_tccp_t * tccp
Definition: t1.c:2115
opj_mqc_raw_init_dec
void opj_mqc_raw_init_dec(opj_mqc_t *mqc, OPJ_BYTE *bp, OPJ_UINT32 len, OPJ_UINT32 extra_writable_bytes)
Initialize the decoder for RAW decoding.
Definition: mqc.c:463
opj_calloc
void * opj_calloc(size_t num, size_t size)
Allocate a memory block with elements initialized to 0.
Definition: opj_malloc.c:198
opj_mqc_init_enc
void opj_mqc_init_enc(opj_mqc_t *mqc, OPJ_BYTE *bp)
Initialize the encoder.
Definition: mqc.c:188
opj_t1_dec_sigpass_mqc_internal
#define opj_t1_dec_sigpass_mqc_internal(t1, bpno, vsc, w, h, flags_stride)
Definition: t1.c:622
T1_CHI_2_I
#define T1_CHI_2_I
Definition: t1.h:117
opj_tcd_cblk_enc::x0
OPJ_INT32 x0
Definition: tcd.h:81
opj_mqc_reset_enc
void opj_mqc_reset_enc(opj_mqc_t *mqc)
RESET mode switch.
Definition: mqc.c:310
opj_mqc
MQ coder.
Definition: mqc.h:74
opj_dwt_getnorm_real
OPJ_FLOAT64 opj_dwt_getnorm_real(OPJ_UINT32 level, OPJ_UINT32 orient)
Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT.
Definition: dwt.c:1950
opj_mqc::bp
OPJ_BYTE * bp
pointer to the current position in the buffer
Definition: mqc.h:84
J2K_CCP_CBLKSTY_SEGSYM
#define J2K_CCP_CBLKSTY_SEGSYM
Segmentation symbols are used.
Definition: j2k.h:63
opj_t1::flags
opj_flag_t * flags
Flags used by decoder and encoder.
Definition: t1.h:195
opj_mqc_erterm_enc
void opj_mqc_erterm_enc(opj_mqc_t *mqc)
ERTERM mode switch (PTERM)
Definition: mqc.c:357
opj_tls_set
OPJ_BOOL opj_tls_set(opj_tls_t *tls, int key, void *value, opj_tls_free_func opj_free_func)
Set a thread local value corresponding to the provided key.
Definition: thread.c:540
opj_tcd_cblk_enc
FIXME DOC.
Definition: tcd.h:77
opj_lrintf
static INLINE long opj_lrintf(float f)
Definition: opj_includes.h:174
opj_mqc::curctx
const opj_mqc_state_t ** curctx
Active context.
Definition: mqc.h:92
OPJ_COMMON_CBLK_DATA_EXTRA
#define OPJ_COMMON_CBLK_DATA_EXTRA
Margin for a fake FFFF marker.
Definition: opj_common.h:39
T1_CTXNO_UNI
#define T1_CTXNO_UNI
Definition: t1.h:65
opj_mqc_bypass_init_enc
void opj_mqc_bypass_init_enc(opj_mqc_t *mqc)
BYPASS mode switch, initialization operation.
Definition: mqc.c:229
opj_tccp::roishift
OPJ_INT32 roishift
Region Of Interest shift.
Definition: j2k.h:195
T1_SIGMA_10
#define T1_SIGMA_10
Definition: t1.h:101
opj_int_floorlog2
static INLINE OPJ_INT32 opj_int_floorlog2(OPJ_INT32 a)
Get logarithm of an integer and round downwards.
Definition: opj_intmath.h:225
opj_tcd_band::x0
OPJ_INT32 x0
Definition: tcd.h:159
opj_tcd_seg
Segment of a code-block.
Definition: tcd.h:105
opj_t1_encode_cblk
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.
Definition: t1.c:2368
opj_t1_cblk_decode_processing_job_t::band
opj_tcd_band_t * band
Definition: t1.c:1572
T1_PI_3
#define T1_PI_3
Definition: t1.h:125
opj_mqc_segmark_enc
void opj_mqc_segmark_enc(opj_mqc_t *mqc)
SEGMARK mode switch (SEGSYM)
Definition: mqc.c:410
t1_luts.h
opj_tcd_resolution::x0
OPJ_INT32 x0
Definition: tcd.h:173
opj_tcd_cblk_dec::numchunks
OPJ_UINT32 numchunks
Definition: tcd.h:135
T1_CTXNO_AGG
#define T1_CTXNO_AGG
Definition: t1.h:64
opj_tcd_resolution::y1
OPJ_INT32 y1
Definition: tcd.h:173
opj_tcd_seg::real_num_passes
OPJ_UINT32 real_num_passes
Definition: tcd.h:110
opj_t1_dec_clnpass_check_segsym
static void opj_t1_dec_clnpass_check_segsym(opj_t1_t *t1, OPJ_INT32 cblksty)
Definition: t1.c:1319
opj_t1_cblk_decode_processing_job_t
Definition: t1.c:1568
opj_tcd_precinct::y1
OPJ_INT32 y1
Definition: tcd.h:144
opj_t1_cblk_encode_processing_job_t::compno
OPJ_UINT32 compno
Definition: t1.c:2109
opj_tcd_resolution::x1
OPJ_INT32 x1
Definition: tcd.h:173
opj_tcd_cblk_enc::passes
opj_tcd_pass_t * passes
Definition: tcd.h:80
T1_PI_0
#define T1_PI_0
Definition: t1.h:115
opj_t1_update_flags
static INLINE void opj_t1_update_flags(opj_flag_t *flagsp, OPJ_UINT32 ci, OPJ_UINT32 s, OPJ_UINT32 stride, OPJ_UINT32 vsc)
Definition: t1.c:329
T1_SIGMA_4
#define T1_SIGMA_4
Definition: t1.h:95
opj_t1_dec_clnpass_generic_novsc
static void opj_t1_dec_clnpass_generic_novsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1354
opj_tcd_cblk_dec::x1
OPJ_INT32 x1
Definition: tcd.h:124
opj_mqc_encode_macro
#define opj_mqc_encode_macro(mqc, curctx, a, c, ct, d)
Definition: mqc_inl.h:253
T1_CTXNO_ZC
#define T1_CTXNO_ZC
Definition: t1.h:61
opj_smr_abs
#define opj_smr_abs(x)
Definition: t1.c:66
opj_tcd_resolution::bands
opj_tcd_band_t bands[3]
Definition: tcd.h:179
opj_event_msg
OPJ_BOOL opj_event_msg(opj_event_mgr_t *p_event_mgr, OPJ_INT32 event_type, const char *fmt,...)
Write formatted data to a string and send the string to a user callback.
Definition: event.c:91
J2K_CCP_CBLKSTY_LAZY
#define J2K_CCP_CBLKSTY_LAZY
Selective arithmetic coding bypass.
Definition: j2k.h:58
OPJ_ARG_NOT_USED
#define OPJ_ARG_NOT_USED(x)
Definition: openjpeg.h:136
T1_SIGMA_NEIGHBOURS
#define T1_SIGMA_NEIGHBOURS
Definition: t1.h:158
opj_t1_decode_cblks
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.
Definition: t1.c:1799
opj_t1_clbl_decode_processor
static void opj_t1_clbl_decode_processor(void *user_data, opj_tls_t *tls)
Definition: t1.c:1587
opj_mqc_bypass_get_extra_bytes
OPJ_UINT32 opj_mqc_bypass_get_extra_bytes(opj_mqc_t *mqc, OPJ_BOOL erterm)
Return number of extra bytes to add to opj_mqc_numbytes() for the² size of a non-terminating BYPASS p...
Definition: mqc.c:266
DOWNLOAD_MQC_VARIABLES
#define DOWNLOAD_MQC_VARIABLES(mqc, curctx, a, c, ct)
Definition: mqc_inl.h:159
opj_t1_cblk_encode_processing_job_t
Definition: t1.c:2108
lut_nmsedec_ref
static const OPJ_INT16 lut_nmsedec_ref[1U<< T1_NMSEDEC_BITS]
Definition: t1_luts.h:138
T1_PI_2
#define T1_PI_2
Definition: t1.h:122
opj_thread_pool_submit_job
OPJ_BOOL opj_thread_pool_submit_job(opj_thread_pool_t *tp, opj_job_fn job_fn, void *user_data)
Submit a new job to be run by one of the thread in the thread pool.
Definition: thread.c:827
UPLOAD_MQC_VARIABLES
#define UPLOAD_MQC_VARIABLES(mqc, curctx, a, c, ct)
Definition: mqc_inl.h:165
tcp
@ tcp
Definition: query_parser.h:41
opj_t1_cblk_encode_processing_job_t::pret
volatile OPJ_BOOL * pret
Definition: t1.c:2118
opj_t1_enc_clnpass
static void opj_t1_enc_clnpass(opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_UINT32 cblksty)
Encode clean-up pass.
Definition: t1.c:1139
opj_t1::w
OPJ_UINT32 w
Definition: t1.h:197
opj_t1::h
OPJ_UINT32 h
Definition: t1.h:198
opj_tcd_tilecomp::x1
OPJ_INT32 x1
Definition: tcd.h:191
opj_event_mgr
Message handler object used for.
Definition: event.h:50
opj_t1_cblk_encode_processing_job_t::tilec
opj_tcd_tilecomp_t * tilec
Definition: t1.c:2114
opq_mqc_finish_dec
void opq_mqc_finish_dec(opj_mqc_t *mqc)
Terminate RAW/MQC decoding.
Definition: mqc.c:472
INLINE
#define INLINE
Definition: openjpeg.h:65
opj_tcd_resolution::ph
OPJ_UINT32 ph
Definition: tcd.h:175
opj_t1_create
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.
Definition: t1.c:1527
opj_tcd_pass::len
OPJ_UINT32 len
Definition: tcd.h:60
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)
Definition: t1.c:1094
opj_t1_t
struct opj_t1 opj_t1_t
Tier-1 coding (coding of code-block coefficients)
opj_tcd_cblk_dec::y1
OPJ_INT32 y1
Definition: tcd.h:124
opj_t1_dec_refpass_mqc_64x64
static void opj_t1_dec_refpass_mqc_64x64(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:999
OPJ_TLS_KEY_T1
#define OPJ_TLS_KEY_T1
Definition: tls_keys.h:35
lut_ctxno_zc
static const OPJ_BYTE lut_ctxno_zc[2048]
Definition: t1_luts.h:3
opj_mqc_numbytes
OPJ_UINT32 opj_mqc_numbytes(opj_mqc_t *mqc)
Return the number of bytes written/read since initialisation.
Definition: mqc.c:179
opj_tcd_cblk_enc::data
OPJ_BYTE * data
Definition: tcd.h:78
opj_mqc::a
OPJ_UINT32 a
only used by MQ decoder
Definition: mqc.h:78
opj_tcd_tilecomp::resolutions
opj_tcd_resolution_t * resolutions
Definition: tcd.h:199
opj_t1_getnmsedec_ref
static OPJ_INT16 opj_t1_getnmsedec_ref(OPJ_UINT32 x, OPJ_UINT32 bitpos)
Definition: t1.c:291
opj_t1_cblk_decode_processing_job_t::tccp
opj_tccp_t * tccp
Definition: t1.c:1574
opj_t1_dec_refpass_raw
static void opj_t1_dec_refpass_raw(opj_t1_t *t1, OPJ_INT32 bpno)
Decode refinement pass.
Definition: t1.c:901
opj_t1_dec_sigpass_mqc_generic_novsc
static void opj_t1_dec_sigpass_mqc_generic_novsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:680
T1_CHI_THIS_I
#define T1_CHI_THIS_I
Definition: t1.h:161
OPJ_FLOAT64
double OPJ_FLOAT64
Definition: openjpeg.h:116
opj_tcd_tilecomp::x0
OPJ_INT32 x0
Definition: tcd.h:191
opj_tcd_resolution::pw
OPJ_UINT32 pw
Definition: tcd.h:175
opj_tcd_cblk_dec::x0
OPJ_INT32 x0
Definition: tcd.h:124
opj_t1_getwmsedec
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
Definition: t1.c:1393
opj_t1_cblk_decode_processing_job_t::resno
OPJ_UINT32 resno
Definition: t1.c:1570
opj_t1_cblk_decode_processing_job_t::check_pterm
OPJ_BOOL check_pterm
Definition: t1.c:1579
EVT_WARNING
#define EVT_WARNING
Warning event type.
Definition: event.h:67
opj_t1_encode_cblks
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.
Definition: t1.c:2267
opj_tcd::whole_tile_decoding
OPJ_BOOL whole_tile_decoding
Only valid for decoding.
Definition: tcd.h:282
opj_t1
Tier-1 coding (coding of code-block coefficients)
Definition: t1.h:184
opj_thread_pool_get_thread_count
int opj_thread_pool_get_thread_count(opj_thread_pool_t *tp)
Return the number of threads associated with the thread pool.
Definition: thread.c:914
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)
Definition: t1.c:412
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:235
opj_t1_cblk_decode_processing_job_t::cblk
opj_tcd_cblk_dec_t * cblk
Definition: t1.c:1571
opj_mqc_setstate
void opj_mqc_setstate(opj_mqc_t *mqc, OPJ_UINT32 ctxno, OPJ_UINT32 msb, OPJ_INT32 prob)
Set the state of a particular context.
Definition: mqc.c:486
opj_t1_setcurctx
#define opj_t1_setcurctx(curctx, ctxno)
Definition: t1.c:62
opj_tcd_tilecomp::minimum_num_resolutions
OPJ_UINT32 minimum_num_resolutions
Definition: tcd.h:197
opj_tcd_precinct::x1
OPJ_INT32 x1
Definition: tcd.h:144
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)
Definition: t1.c:2337
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:110
opj_tcd_precinct::enc
opj_tcd_cblk_enc_t * enc
Definition: tcd.h:147
OPJ_SIZE_T
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
opj_flag_t
OPJ_UINT32 opj_flag_t
Flags for 4 consecutive rows of a column.
Definition: t1.h:179
opj_tcd_precinct
Precinct structure.
Definition: tcd.h:142
opj_t1_dec_sigpass_mqc_64x64_vsc
static void opj_t1_dec_sigpass_mqc_64x64_vsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:673
opj_t1_cblk_encode_processing_job_t::tile
opj_tcd_tile_t * tile
Definition: t1.c:2112
opj_t1_getctxno_sc
static INLINE OPJ_BYTE opj_t1_getctxno_sc(OPJ_UINT32 lu)
Definition: t1.c:265
opj_includes.h
opj_tcd_cblk_enc::y0
OPJ_INT32 y0
Definition: tcd.h:81
opj_t1_getnmsedec_sig
static OPJ_INT16 opj_t1_getnmsedec_sig(OPJ_UINT32 x, OPJ_UINT32 bitpos)
Definition: t1.c:282
opj_t1_dec_clnpass_internal
#define opj_t1_dec_clnpass_internal(t1, bpno, vsc, w, h, flags_stride)
Definition: t1.c:1230
opj_tcd_precinct::x0
OPJ_INT32 x0
Definition: tcd.h:144
opj_mutex_lock
void opj_mutex_lock(opj_mutex_t *mutex)
Lock/acquire the mutex.
Definition: thread.c:448
opj_t1_cblk_decode_processing_job_t::pret
volatile OPJ_BOOL * pret
Definition: t1.c:1576
T1_SIGMA_1
#define T1_SIGMA_1
Definition: t1.h:92
opj_mqc_init_dec
void opj_mqc_init_dec(opj_mqc_t *mqc, OPJ_BYTE *bp, OPJ_UINT32 len, OPJ_UINT32 extra_writable_bytes)
Initialize the decoder for MQ decoding.
Definition: mqc.c:439
opj_t1_cblk_encode_processing_job_t::mutex
opj_mutex_t * mutex
Definition: t1.c:2119
opj_tcd_pass
FIXME DOC.
Definition: tcd.h:57
opj_tcd_resolution
Tile-component resolution structure.
Definition: tcd.h:171
T1_MU_0
#define T1_MU_0
Definition: t1.h:114
opj_dwt_getnorm
OPJ_FLOAT64 opj_dwt_getnorm(OPJ_UINT32 level, OPJ_UINT32 orient)
Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT.
Definition: dwt.c:1923
opj_mqc::end
OPJ_BYTE * end
pointer to the end of the buffer
Definition: mqc.h:88
opj_t1_dec_sigpass_step_mqc
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)
Definition: t1.c:438
opj_tcd_cblk_enc::x1
OPJ_INT32 x1
Definition: tcd.h:81
opj_tcd_tilecomp
Tile-component structure.
Definition: tcd.h:189
opj_tcd_band
Sub-band structure.
Definition: tcd.h:157
opj_tcd_cblk_enc::totalpasses
OPJ_UINT32 totalpasses
Definition: tcd.h:89
opj_t1::data
OPJ_INT32 * data
Definition: t1.h:189
lut_nmsedec_sig0
static const OPJ_INT16 lut_nmsedec_sig0[1U<< T1_NMSEDEC_BITS]
Definition: t1_luts.h:119
opj_tcd_resolution::numbands
OPJ_UINT32 numbands
Definition: tcd.h:177
opj_t1::encoder
OPJ_BOOL encoder
Definition: t1.h:201
OPJ_INT32
int32_t OPJ_INT32
Definition: openjpeg.h:125
opj_mqc_setcurctx
#define opj_mqc_setcurctx(mqc, ctxno)
Set the current context used for coding/decoding.
Definition: mqc.h:139
opj_t1::cblkdatabuffer
OPJ_BYTE * cblkdatabuffer
Definition: t1.h:207
opj_t1_dec_refpass_mqc_internal
#define opj_t1_dec_refpass_mqc_internal(t1, bpno, w, h, flags_stride)
Definition: t1.c:957
opj_tcd_pass::term
OPJ_BITFIELD term
Definition: tcd.h:61
opj_t1_dec_clnpass_64x64_vsc
static void opj_t1_dec_clnpass_64x64_vsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1347
opj_tcd_pass::distortiondec
OPJ_FLOAT64 distortiondec
Definition: tcd.h:59
opj_tcd_resolution::y0
OPJ_INT32 y0
Definition: tcd.h:173
opj_t1_cblk_encode_processing_job_t::mct_numcomps
OPJ_UINT32 mct_numcomps
Definition: t1.c:2117
opj_t1_enc_refpass_step_macro
#define opj_t1_enc_refpass_step_macro(mqc, curctx, a, c, ct, flags, flagsUpdated, datap, bpno, one, nmsedec, type, ci)
Encode refinement pass step.
Definition: t1.c:719
opj_to_smr
#define opj_to_smr(x)
Definition: t1.c:68
opj_mqc_flush
void opj_mqc_flush(opj_mqc_t *mqc)
Flush the encoder, so that all remaining data is written.
Definition: mqc.c:212
T1_SIGMA_13
#define T1_SIGMA_13
Definition: t1.h:104
max
Byte4_t max(Byte4_t n1, Byte4_t n2)
Definition: index_manager.c:774
T1_TYPE_MQ
#define T1_TYPE_MQ
Normal coding using entropy coder.
Definition: t1.h:70
opj_t1_destroy
void opj_t1_destroy(opj_t1_t *p_t1)
Destroys a previously created T1 handle.
Definition: t1.c:1547
OPJ_RESTRICT
#define OPJ_RESTRICT
Definition: opj_includes.h:121
opj_t1::datasize
OPJ_UINT32 datasize
Definition: t1.h:199
opj_t1::mustuse_cblkdatabuffer
OPJ_BOOL mustuse_cblkdatabuffer
Definition: t1.h:205
opj_t1_enc_clnpass_step_macro
#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.
Definition: t1.c:1027
opj_realloc
void * opj_realloc(void *ptr, size_t new_size)
Reallocate memory blocks.
Definition: opj_malloc.c:239
opj_t1_cblk_decode_processing_job_t::p_manager_mutex
opj_mutex_t * p_manager_mutex
Definition: t1.c:1578
opj_t1_destroy_wrapper
static void opj_t1_destroy_wrapper(void *t1)
Definition: t1.c:1582
opj_mqc::start
OPJ_BYTE * start
pointer to the start of the buffer
Definition: mqc.h:86
OPJ_TRUE
#define OPJ_TRUE
Definition: openjpeg.h:111
opj_tcd_tile::distotile
OPJ_FLOAT64 distotile
Definition: tcd.h:234
opj_t1_cblk_encode_processor
static void opj_t1_cblk_encode_processor(void *user_data, opj_tls_t *tls)
Procedure to deal with a asynchronous code-block encoding job.
Definition: t1.c:2127
opj_t1_decode_cblks
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.
Definition: t1.c:1799
opj_t1_dec_clnpass_64x64_novsc
static void opj_t1_dec_clnpass_64x64_novsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1340
opj_tcd_tilecomp::numresolutions
OPJ_UINT32 numresolutions
Definition: tcd.h:195
opj_t1_cblk_encode_processing_job_t::band
opj_tcd_band_t * band
Definition: t1.c:2113
lut_nmsedec_ref0
static const OPJ_INT16 lut_nmsedec_ref0[1U<< T1_NMSEDEC_BITS]
Definition: t1_luts.h:157
opj_free
void opj_free(void *ptr)
Deallocates or frees a memory block.
Definition: opj_malloc.c:246
opj_tcd_tile::numcomps
OPJ_UINT32 numcomps
Definition: tcd.h:231
opj_tcd_cblk_enc::numbps
OPJ_UINT32 numbps
Definition: tcd.h:83
opj_t1_dec_sigpass_raw
static void opj_t1_dec_sigpass_raw(opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
Decode significant pass.
Definition: t1.c:558
opj_t1_enc_refpass
static void opj_t1_enc_refpass(opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 *nmsedec, OPJ_BYTE type)
Encode refinement pass.
Definition: t1.c:790
lut_nmsedec_sig
static const OPJ_INT16 lut_nmsedec_sig[1U<< T1_NMSEDEC_BITS]
Definition: t1_luts.h:100
opj_tcd_precinct::cblks
union opj_tcd_precinct::@3 cblks
opj_t1_dec_sigpass_step_raw
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.
Definition: t1.c:388
opj_tcd_precinct::y0
OPJ_INT32 y0
Definition: tcd.h:144
opj_t1_dec_sigpass_mqc_generic_vsc
static void opj_t1_dec_sigpass_mqc_generic_vsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:688
opj_t1_enc_sigpass_step_macro
#define opj_t1_enc_sigpass_step_macro(mqc, curctx, a, c, ct, flagspIn, datapIn, bpno, one, nmsedec, type, ciIn, vscIn)
Encode significant pass.
Definition: t1.c:339
opj_mutex_unlock
void opj_mutex_unlock(opj_mutex_t *mutex)
Unlock/release the mutex.
Definition: thread.c:453
opj_tcd_is_band_empty
OPJ_BOOL opj_tcd_is_band_empty(opj_tcd_band_t *band)
Returns whether a sub-band is empty (i.e.
Definition: tcd.c:2707
T1_FLAGS
#define T1_FLAGS(x, y)
Definition: t1.c:60
opj_tccp::qmfbid
OPJ_UINT32 qmfbid
discrete wavelet transform identifier
Definition: j2k.h:187
T1_SIGMA_3
#define T1_SIGMA_3
Definition: t1.h:94
opj_t1_dec_clnpass_generic_vsc
static void opj_t1_dec_clnpass_generic_vsc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1362
opj_tcp
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: j2k.h:241
opj_thread_pool_wait_completion
void opj_thread_pool_wait_completion(opj_thread_pool_t *tp, int max_remaining_jobs)
Wait that no more than max_remaining_jobs jobs are remaining in the queue of the thread pool.
Definition: thread.c:894
opj_t1_dec_clnpass_step
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.
Definition: t1.c:1122
opj_mutex_destroy
void opj_mutex_destroy(opj_mutex_t *mutex)
Destroy a mutex.
Definition: thread.c:458
opj_tcd_is_subband_area_of_interest
OPJ_BOOL opj_tcd_is_subband_area_of_interest(opj_tcd_t *tcd, OPJ_UINT32 compno, OPJ_UINT32 resno, OPJ_UINT32 bandno, OPJ_UINT32 band_x0, OPJ_UINT32 band_y0, OPJ_UINT32 band_x1, OPJ_UINT32 band_y1)
Returns whether a sub-band region contributes to the area of interest tcd->win_x0,...
Definition: tcd.c:2712
opj_tcd_seg_data_chunk::len
OPJ_UINT32 len
Definition: tcd.h:99
T1_NMSEDEC_FRACBITS
#define T1_NMSEDEC_FRACBITS
Definition: t1.h:68
opj_t1_allocate_buffers
static OPJ_BOOL opj_t1_allocate_buffers(opj_t1_t *t1, OPJ_UINT32 w, OPJ_UINT32 h)
Definition: t1.c:1428
opj_tccp::cblksty
OPJ_UINT32 cblksty
code-block coding style
Definition: j2k.h:185
opj_int_max
static INLINE OPJ_INT32 opj_int_max(OPJ_INT32 a, OPJ_INT32 b)
Get the maximum of two integers.
Definition: opj_intmath.h:74
opj_tcd_band::y0
OPJ_INT32 y0
Definition: tcd.h:159
opj_mqc_resetstates
void opj_mqc_resetstates(opj_mqc_t *mqc)
Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and ...
Definition: mqc.c:478
opj_t1_dec_refpass_mqc_generic
static void opj_t1_dec_refpass_mqc_generic(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1006
opj_mutex_t
struct opj_mutex_t opj_mutex_t
Opaque type for a mutex.
Definition: thread.h:52
T1_SIGMA_5
#define T1_SIGMA_5
Definition: t1.h:96
opj_tcd_cblk_dec
Code-block for decoding.
Definition: tcd.h:120
opj_tcd_band::stepsize
OPJ_FLOAT32 stepsize
Definition: tcd.h:167
opj_mqc_bypass_flush_enc
void opj_mqc_bypass_flush_enc(opj_mqc_t *mqc, OPJ_BOOL erterm)
BYPASS mode switch, flush operation.
Definition: mqc.c:272
opj_mutex_create
opj_mutex_t * opj_mutex_create(void)
Creates a mutex.
Definition: thread.c:443
T1_CTXNO_MAG
#define T1_CTXNO_MAG
Definition: t1.h:63
opj_tccp
Tile-component coding parameters.
Definition: j2k.h:175
opj_tcd_tilecomp::data
OPJ_INT32 * data
Definition: tcd.h:204
opj_t1_getctxno_zc
static INLINE OPJ_BYTE opj_t1_getctxno_zc(opj_mqc_t *mqc, OPJ_UINT32 f)
Definition: t1.c:230
opj_aligned_free
void opj_aligned_free(void *ptr)
Definition: opj_malloc.c:225
T1_SIGMA_7
#define T1_SIGMA_7
Definition: t1.h:98
opj_tcd::thread_pool
opj_thread_pool_t * thread_pool
Thread pool.
Definition: tcd.h:275
opj_tcd_tile
FIXME DOC.
Definition: tcd.h:228
opj_mqc_raw_decode
static INLINE OPJ_UINT32 opj_mqc_raw_decode(opj_mqc_t *mqc)
Decode a symbol using raw-decoder.
Definition: mqc_inl.h:74
opj_t1_cblk_encode_processing_job_t::cblk
opj_tcd_cblk_enc_t * cblk
Definition: t1.c:2111
opj_tcd_tilecomp::compno
OPJ_UINT32 compno
Definition: tcd.h:193
T1_PI_1
#define T1_PI_1
Definition: t1.h:119
opj_tcd_cblk_dec::y0
OPJ_INT32 y0
Definition: tcd.h:124
opj_t1_cblk_decode_processing_job_t::p_manager
opj_event_mgr_t * p_manager
Definition: t1.c:1577
opj_aligned_malloc
void * opj_aligned_malloc(size_t size)
Allocate memory aligned to a 16 byte boundary.
Definition: opj_malloc.c:207
opj_tcd_seg::len
OPJ_UINT32 len
Definition: tcd.h:106
J2K_CCP_CBLKSTY_RESET
#define J2K_CCP_CBLKSTY_RESET
Reset context probabilities on coding pass boundaries.
Definition: j2k.h:59
opj_t1_getspb
static INLINE OPJ_BYTE opj_t1_getspb(OPJ_UINT32 lu)
Definition: t1.c:277
opj_t1_dec_clnpass
static void opj_t1_dec_clnpass(opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
Definition: t1.c:1370
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)
Definition: t1.c:762
opj_mqc::c
OPJ_UINT32 c
temporary buffer where bits are coded or decoded
Definition: mqc.h:76
EVT_ERROR
#define EVT_ERROR
Error event type.
Definition: event.h:66
OPJ_UINT32
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
opj_tcd_band::bandno
OPJ_UINT32 bandno
Definition: tcd.h:161
opj_tcd_cblk_dec::real_num_segs
OPJ_UINT32 real_num_segs
Definition: tcd.h:133
opj_tcd_cblk_dec::chunks
opj_tcd_seg_data_chunk_t * chunks
Definition: tcd.h:122
opj_tcd_seg_data_chunk::data
OPJ_BYTE * data
Definition: tcd.h:98
opj_t1::cblkdatabuffersize
OPJ_UINT32 cblkdatabuffersize
Definition: t1.h:209
T1_SIGMA_THIS
#define T1_SIGMA_THIS
Definition: t1.h:153
opj_mqc_restart_init_enc
void opj_mqc_restart_init_enc(opj_mqc_t *mqc)
RESTART mode switch (TERMALL) reinitialisation.
Definition: mqc.c:337
opj_tcd_cblk_dec::segs
opj_tcd_seg_t * segs
Definition: tcd.h:121
T1_CHI_1_I
#define T1_CHI_1_I
Definition: t1.h:113
OPJ_FALSE
#define OPJ_FALSE
Definition: openjpeg.h:112
opj_t1_dec_refpass_step_raw
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.
Definition: t1.c:743
opj_t1_create
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.
Definition: t1.c:1527
opj_t1_decode_cblk
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.
Definition: t1.c:1925
OPJ_INT16
int16_t OPJ_INT16
Definition: openjpeg.h:123
lut_ctxno_sc
static const OPJ_BYTE lut_ctxno_sc[256]
Definition: t1_luts.h:70
opj_t1_cblk_encode_processing_job_t::resno
OPJ_UINT32 resno
Definition: t1.c:2110
opj_t1_enc_sigpass
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.
Definition: t1.c:455
opj_t1_cblk_encode_processing_job_t::mct_norms
const OPJ_FLOAT64 * mct_norms
Definition: t1.c:2116
opj_t1_cblk_decode_processing_job_t::mustuse_cblkdatabuffer
OPJ_BOOL mustuse_cblkdatabuffer
Definition: t1.c:1575
J2K_CCP_CBLKSTY_TERMALL
#define J2K_CCP_CBLKSTY_TERMALL
Termination on each coding pass.
Definition: j2k.h:60
opj_t1_update_flags_macro
#define opj_t1_update_flags_macro(flags, flagsp, ci, s, stride, vsc)
Definition: t1.c:300
T1_CHI_0_I
#define T1_CHI_0_I
Definition: t1.h:111
opj_tcd_cblk_dec::numbps
OPJ_UINT32 numbps
Definition: tcd.h:125
opj_tcd_cblk_enc::y1
OPJ_INT32 y1
Definition: tcd.h:82
opj_tcd_pass::rate
OPJ_UINT32 rate
Definition: tcd.h:58
opj_tcd_precinct::dec
opj_tcd_cblk_dec_t * dec
Definition: tcd.h:148
opj_t1_dec_refpass_mqc
static void opj_t1_dec_refpass_mqc(opj_t1_t *t1, OPJ_INT32 bpno)
Definition: t1.c:1013
lut_spb
static const OPJ_BYTE lut_spb[256]
Definition: t1_luts.h:89
opj_mqc::ct
OPJ_UINT32 ct
number of bits already read or free to write
Definition: mqc.h:80
opj_t1_dec_refpass_step_mqc
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)
Definition: t1.c:775
opj_tls_get
void * opj_tls_get(opj_tls_t *tls, int key)
Get a thread local value corresponding to the provided key.
Definition: thread.c:529
opj_t1::mqc
opj_mqc_t mqc
MQC component.
Definition: t1.h:187
opj_t1_destroy
void opj_t1_destroy(opj_t1_t *p_t1)
Destroys a previously created T1 handle.
Definition: t1.c:1547
opj_tcd_tile::comps
opj_tcd_tilecomp_t * comps
Definition: tcd.h:232
opj_t1_encode_cblks
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.
Definition: t1.c:2267
T1_PI_THIS
#define T1_PI_THIS
Definition: t1.h:163
opj_t1::flagssize
OPJ_UINT32 flagssize
Definition: t1.h:200
T1_TYPE_RAW
#define T1_TYPE_RAW
No encoding the information is store under raw format in codestream (mode switch RAW)
Definition: t1.h:71
opj_t1_cblk_decode_processing_job_t::whole_tile_decoding
OPJ_BOOL whole_tile_decoding
Definition: t1.c:1569
opj_mqc::end_of_byte_stream_counter
OPJ_UINT32 end_of_byte_stream_counter
Definition: mqc.h:82
opj_t1_getctxno_mag
static INLINE OPJ_UINT32 opj_t1_getctxno_mag(OPJ_UINT32 f)
Definition: t1.c:270
opj_tcd_precinct::ch
OPJ_UINT32 ch
Definition: tcd.h:145
opj_t1_dec_sigpass_mqc
static void opj_t1_dec_sigpass_mqc(opj_t1_t *t1, OPJ_INT32 bpno, OPJ_INT32 cblksty)
Definition: t1.c:696
opj_thread_pool_t
Definition: thread.c:605
opj_tcd
Tile coder/decoder.
Definition: tcd.h:251
opj_t1_cblk_decode_processing_job_t::tilec
opj_tcd_tilecomp_t * tilec
Definition: t1.c:1573
J2K_CCP_CBLKSTY_VSC
#define J2K_CCP_CBLKSTY_VSC
Vertically stripe causal context.
Definition: j2k.h:61
T1_NMSEDEC_BITS
#define T1_NMSEDEC_BITS
Definition: t1.h:53
opj_mqc_decode
#define opj_mqc_decode(d, mqc)
Decode a symbol.
Definition: mqc_inl.h:193
opj_mqc::lut_ctxno_zc_orient
const OPJ_BYTE * lut_ctxno_zc_orient
Definition: mqc.h:94