OpenJPEG: dwt.h Source File

OpenJPEG 2.3.1

dwt.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 * All rights reserved.
15 *
16 * Redistribution and use in source and binary forms, with or without
17 * modification, are permitted provided that the following conditions
18 * are met:
19 * 1. Redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer.
21 * 2. Redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution.
24 *
25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35 * POSSIBILITY OF SUCH DAMAGE.
36 */
37
38 #ifndef OPJ_DWT_H
39 #define OPJ_DWT_H
40
51
52
55 /* ----------------------------------------------------------------------- */
61 OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t * tilec);
62
70 OPJ_BOOL opj_dwt_decode(opj_tcd_t *p_tcd,
71 opj_tcd_tilecomp_t* tilec,
72 OPJ_UINT32 numres);
73
79 OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient) ;
86 OPJ_FLOAT64 opj_dwt_getnorm(OPJ_UINT32 level, OPJ_UINT32 orient);
92 OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t * tilec);
100 OPJ_BOOL opj_dwt_decode_real(opj_tcd_t *p_tcd,
101 opj_tcd_tilecomp_t* OPJ_RESTRICT tilec,
102 OPJ_UINT32 numres);
103
109 OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient);
116 OPJ_FLOAT64 opj_dwt_getnorm_real(OPJ_UINT32 level, OPJ_UINT32 orient);
122 void opj_dwt_calc_explicit_stepsizes(opj_tccp_t * tccp, OPJ_UINT32 prec);
123 /* ----------------------------------------------------------------------- */
127
128 #endif /* OPJ_DWT_H */
opj_dwt_getgain_real
OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient)
Get the gain of a subband for the irreversible 9-7 DWT.
Definition: dwt.c:1258
opj_tcd_precinct::cw
OPJ_UINT32 cw
Definition: tcd.h:145
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_dwd_decode_h_job_t::w
OPJ_UINT32 w
Definition: dwt.c:1327
opj_dwt_segment_grow
static void opj_dwt_segment_grow(OPJ_UINT32 filter_width, OPJ_UINT32 max_size, OPJ_UINT32 *start, OPJ_UINT32 *end)
Definition: dwt.c:1858
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:1267
opj_tcd_tilecomp::win_x0
OPJ_UINT32 win_x0
Definition: tcd.h:215
opj_v4dwt_decode_step2
static void opj_v4dwt_decode_step2(opj_v4_t *l, opj_v4_t *w, OPJ_UINT32 start, OPJ_UINT32 end, OPJ_UINT32 m, OPJ_FLOAT32 c)
Definition: dwt.c:2395
opj_dwt_encode
OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t *tilec)
Forward 5-3 wavelet transform in 2-D.
Definition: dwt.c:1198
opj_dwt_calc_explicit_stepsizes
void opj_dwt_calc_explicit_stepsizes(opj_tccp_t *tccp, OPJ_UINT32 prec)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:1280
opj_dwd_decode_v_job_t::v
opj_dwt_t v
Definition: dwt.c:1349
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:215
opj_tcd_band::x0
OPJ_INT32 x0
Definition: tcd.h:159
opj_dwt_max_resolution
static OPJ_UINT32 opj_dwt_max_resolution(opj_tcd_resolution_t *OPJ_RESTRICT r, OPJ_UINT32 i)
Definition: dwt.c:1307
opj_tccp::numresolutions
OPJ_UINT32 numresolutions
number of resolutions
Definition: j2k.h:179
OPJ_D__off
#define OPJ_D__off(i, off)
Definition: dwt.c:1675
PARALLEL_COLS_53
#define PARALLEL_COLS_53
Number of columns that we can process in parallel in the vertical pass.
Definition: dwt.c:78
opj_v4dwt_interleave_partial_h
static void opj_v4dwt_interleave_partial_h(opj_v4dwt_t *dwt, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_line, OPJ_UINT32 remaining_height)
Definition: dwt.c:2225
opj_tcd_tilecomp::win_y0
OPJ_UINT32 win_y0
Definition: tcd.h:216
opj_dwt_delta
static const OPJ_FLOAT32 opj_dwt_delta
Definition: dwt.c:108
opj_int_min
static INLINE OPJ_INT32 opj_int_min(OPJ_INT32 a, OPJ_INT32 b)
Get the minimum of two integers.
Definition: opj_intmath.h:56
opj_tcd_resolution::x0
OPJ_INT32 x0
Definition: tcd.h:173
opj_tcd_resolution::y1
OPJ_INT32 y1
Definition: tcd.h:173
opj_tcd_resolution::x1
OPJ_INT32 x1
Definition: tcd.h:173
opj_dwt_encode_real
OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t *tilec)
Forward 9-7 wavelet transform in 2-D.
Definition: dwt.c:1250
v4dwt_local::win_l_x0
OPJ_UINT32 win_l_x0
Definition: dwt.c:99
opj_tcd_cblk_dec::x1
OPJ_INT32 x1
Definition: tcd.h:124
opj_dwt_decode_partial_97
static OPJ_BOOL opj_dwt_decode_partial_97(opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Definition: dwt.c:2642
SIZE_MAX
#define SIZE_MAX
Definition: opj_malloc.c:40
opj_tcd_resolution::bands
opj_tcd_band_t bands[3]
Definition: tcd.h:179
opj_dwt_interleave_partial_v
static void opj_dwt_interleave_partial_v(OPJ_INT32 *dest, OPJ_INT32 cas, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_col, OPJ_UINT32 nb_cols, OPJ_UINT32 sn, OPJ_UINT32 win_l_y0, OPJ_UINT32 win_l_y1, OPJ_UINT32 win_h_y0, OPJ_UINT32 win_h_y1)
Definition: dwt.c:1570
opj_dwd_decode_h_job_t
Definition: dwt.c:1324
opj_dwt_encode_real
OPJ_BOOL opj_dwt_encode_real(opj_tcd_tilecomp_t *tilec)
Forward 9-7 wavelet transform in 2-D.
Definition: dwt.c:1250
opj_idwt53_h_cas1
static void opj_idwt53_h_cas1(OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp)
Definition: dwt.c:483
opj_dwt_getgain
OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient)
Get the gain of a subband for the reversible 5-3 DWT.
Definition: dwt.c:1220
OPJ_S_
#define OPJ_S_(i)
Definition: dwt.c:210
opj_dwd_decode_h_job_t::max_j
OPJ_UINT32 max_j
Definition: dwt.c:1330
opj_dwt_decode_partial_tile
static OPJ_BOOL opj_dwt_decode_partial_tile(opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Definition: dwt.c:1925
opj_dwt_decode_real
OPJ_BOOL opj_dwt_decode_real(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Inverse 9-7 wavelet transform in 2-D.
Definition: dwt.c:2883
opj_dwd_decode_v_job_t
Definition: dwt.c:1348
opj_v4_t
Definition: dwt.c:90
opj_idwt53_v
static void opj_idwt53_v(const opj_dwt_t *dwt, OPJ_INT32 *tiledp_col, OPJ_SIZE_T stride, OPJ_INT32 nb_cols)
Definition: dwt.c:953
opj_K
static const OPJ_FLOAT32 opj_K
Definition: dwt.c:110
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
opj_dwt_decode_tile_97
static OPJ_BOOL opj_dwt_decode_tile_97(opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Definition: dwt.c:2510
opj_dwd_decode_h_job_t::tiledp
OPJ_INT32 *OPJ_RESTRICT tiledp
Definition: dwt.c:1328
dwt_local
Definition: dwt.c:83
opj_dwd_decode_v_job_t::min_j
OPJ_UINT32 min_j
Definition: dwt.c:1353
opj_dwt_decode
OPJ_BOOL opj_dwt_decode(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Inverse 5-3 wavelet transform in 2-D.
Definition: dwt.c:1206
opj_tcd_tilecomp::x1
OPJ_INT32 x1
Definition: tcd.h:191
v4dwt_local::win_h_x1
OPJ_UINT32 win_h_x1
Definition: dwt.c:102
INLINE
#define INLINE
Definition: openjpeg.h:65
opj_dwt_encode_1
static void opj_dwt_encode_1(OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
Forward 5-3 wavelet transform in 1-D.
Definition: dwt.c:347
opj_tcd_resolution::ph
OPJ_UINT32 ph
Definition: tcd.h:175
opj_dwt_encode_1_real
static void opj_dwt_encode_1_real(OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
Forward 9-7 wavelet transform in 1-D.
Definition: dwt.c:1040
opj_int_fix_mul
static INLINE OPJ_INT32 opj_int_fix_mul(OPJ_INT32 a, OPJ_INT32 b)
Multiply two fixed-precision rational numbers.
Definition: opj_intmath.h:242
opj_tcd_cblk_dec::y1
OPJ_INT32 y1
Definition: tcd.h:124
opj_dwd_decode_v_job_t::rh
OPJ_UINT32 rh
Definition: dwt.c:1350
opj_tcd_tilecomp::resolutions
opj_tcd_resolution_t * resolutions
Definition: tcd.h:199
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:1234
OPJ_FLOAT64
double OPJ_FLOAT64
Definition: openjpeg.h:116
opj_tccp::stepsizes
opj_stepsize_t stepsizes[OPJ_J2K_MAXBANDS]
stepsizes used for quantization
Definition: j2k.h:191
opj_idwt3_v_cas0
static void opj_idwt3_v_cas0(OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_SIZE_T stride)
Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on even coordinate.
Definition: dwt.c:854
OPJ_D_off
#define OPJ_D_off(i, off)
Definition: dwt.c:1673
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
DWT1DFN
void(* DWT1DFN)(const opj_dwt_t *v)
Virtual function type for wavelet transform in 1-D.
Definition: dwt.c:118
opj_stepsize
Quantization stepsize.
Definition: j2k.h:165
opj_tcd::whole_tile_decoding
OPJ_BOOL whole_tile_decoding
Only valid for decoding.
Definition: tcd.h:282
opj_dwt_encode_stepsize
static void opj_dwt_encode_stepsize(OPJ_INT32 stepsize, OPJ_INT32 numbps, opj_stepsize_t *bandno_stepsize)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:1089
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_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:1267
opj_stepsize::mant
OPJ_INT32 mant
mantissa
Definition: j2k.h:169
opj_stepsize::expn
OPJ_INT32 expn
exponent
Definition: j2k.h:167
opj_dwd_decode_h_job_t::rw
OPJ_UINT32 rw
Definition: dwt.c:1326
opj_c13318
static const OPJ_FLOAT32 opj_c13318
Definition: dwt.c:111
opj_dwt_beta
static const OPJ_FLOAT32 opj_dwt_beta
Definition: dwt.c:106
opj_dwd_decode_h_job_t::h
opj_dwt_t h
Definition: dwt.c:1325
opj_tcd_tilecomp::minimum_num_resolutions
OPJ_UINT32 minimum_num_resolutions
Definition: tcd.h:197
OPJ_UNUSED
#define OPJ_UNUSED(x)
Definition: jp2.c:47
opj_uint_adds
static INLINE OPJ_UINT32 opj_uint_adds(OPJ_UINT32 a, OPJ_UINT32 b)
Get the saturated sum of two unsigned integers.
Definition: opj_intmath.h:92
OPJ_BOOL
int OPJ_BOOL
Definition: openjpeg.h:110
opj_aligned_32_malloc
void * opj_aligned_32_malloc(size_t size)
Allocate memory aligned to a 32 byte boundary.
Definition: opj_malloc.c:216
OPJ_SIZE_T
size_t OPJ_SIZE_T
Definition: openjpeg.h:133
opj_v4dwt_interleave_v
static void opj_v4dwt_interleave_v(opj_v4dwt_t *OPJ_RESTRICT dwt, OPJ_FLOAT32 *OPJ_RESTRICT a, OPJ_UINT32 width, OPJ_UINT32 nb_elts_read)
Definition: dwt.c:2251
opj_tcd_precinct
Precinct structure.
Definition: tcd.h:142
opj_includes.h
opj_dwt_gamma
static const OPJ_FLOAT32 opj_dwt_gamma
Definition: dwt.c:107
opj_v4dwt_decode
static void opj_v4dwt_decode(opj_v4dwt_t *OPJ_RESTRICT dwt)
Definition: dwt.c:2444
opj_v4dwt_t
struct v4dwt_local opj_v4dwt_t
opj_tcd_resolution
Tile-component resolution structure.
Definition: tcd.h:171
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:1234
opj_tcd_tilecomp
Tile-component structure.
Definition: tcd.h:189
opj_tcd_band
Sub-band structure.
Definition: tcd.h:157
opj_v4dwt_interleave_h
static void opj_v4dwt_interleave_h(opj_v4dwt_t *OPJ_RESTRICT dwt, OPJ_FLOAT32 *OPJ_RESTRICT a, OPJ_UINT32 width, OPJ_UINT32 remaining_height)
Definition: dwt.c:2171
opj_tcd_tilecomp::data_win
OPJ_INT32 * data_win
data of the component limited to window of interest.
Definition: tcd.h:213
opj_dwt_interleave_partial_h
static void opj_dwt_interleave_partial_h(OPJ_INT32 *dest, OPJ_INT32 cas, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_line, OPJ_UINT32 sn, OPJ_UINT32 win_l_x0, OPJ_UINT32 win_l_x1, OPJ_UINT32 win_h_x0, OPJ_UINT32 win_h_x1)
Definition: dwt.c:1543
opj_tcd_resolution::numbands
OPJ_UINT32 numbands
Definition: tcd.h:177
OPJ_INT32
int32_t OPJ_INT32
Definition: openjpeg.h:125
VREG_INT_COUNT
#define VREG_INT_COUNT
Number of int32 values in a SSE2 register.
Definition: dwt.c:74
opj_dwt_encode_procedure
static OPJ_BOOL opj_dwt_encode_procedure(opj_tcd_tilecomp_t *tilec, void(*p_function)(OPJ_INT32 *, OPJ_INT32, OPJ_INT32, OPJ_INT32))
Definition: dwt.c:1109
dwt_local::cas
OPJ_INT32 cas
Definition: dwt.c:87
opj_tcd_resolution::win_x0
OPJ_UINT32 win_x0
Definition: tcd.h:182
opj_tcd_resolution::y0
OPJ_INT32 y0
Definition: tcd.h:173
opj_dwt_norms_real
static const OPJ_FLOAT64 opj_dwt_norms_real[4][10]
Definition: dwt.c:233
OPJ_RESTRICT
#define OPJ_RESTRICT
Definition: opj_includes.h:121
opj_tcd_tilecomp::win_y1
OPJ_UINT32 win_y1
Definition: tcd.h:218
opj_tcd_band::precincts
opj_tcd_precinct_t * precincts
Definition: tcd.h:163
opj_idwt3_v_cas1
static void opj_idwt3_v_cas1(OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp_col, const OPJ_SIZE_T stride)
Vertical inverse 5x3 wavelet transform for one column, when top-most pixel is on odd coordinate.
Definition: dwt.c:904
opj_uint_min
static INLINE OPJ_UINT32 opj_uint_min(OPJ_UINT32 a, OPJ_UINT32 b)
Get the minimum of two integers.
Definition: opj_intmath.h:65
OPJ_TRUE
#define OPJ_TRUE
Definition: openjpeg.h:111
opj_uint_max
static INLINE OPJ_UINT32 opj_uint_max(OPJ_UINT32 a, OPJ_UINT32 b)
Get the maximum of two integers.
Definition: opj_intmath.h:83
opj_dwd_decode_h_job_t::min_j
OPJ_UINT32 min_j
Definition: dwt.c:1329
opj_malloc
void * opj_malloc(size_t size)
Allocate an uninitialized memory block.
Definition: opj_malloc.c:191
opj_tcd_tilecomp::numresolutions
OPJ_UINT32 numresolutions
Definition: tcd.h:195
opj_dwt_deinterleave_v
static void opj_dwt_deinterleave_v(OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 x, OPJ_INT32 cas)
Forward lazy transform (vertical)
Definition: dwt.c:273
opj_free
void opj_free(void *ptr)
Deallocates or frees a memory block.
Definition: opj_malloc.c:246
opj_v4_t::f
OPJ_FLOAT32 f[4]
Definition: dwt.c:91
OPJ_SS__off
#define OPJ_SS__off(i, off)
Definition: dwt.c:1676
opj_tcd_precinct::cblks
union opj_tcd_precinct::@3 cblks
opj_dwt_encode
OPJ_BOOL opj_dwt_encode(opj_tcd_tilecomp_t *tilec)
Forward 5-3 wavelet transform in 2-D.
Definition: dwt.c:1198
opj_sparse_array_int32
Definition: sparse_array.c:35
opj_tccp::qntsty
OPJ_UINT32 qntsty
quantisation style
Definition: j2k.h:189
OPJ_D
#define OPJ_D(i)
Definition: dwt.c:209
opj_sparse_array_int32_free
void opj_sparse_array_int32_free(opj_sparse_array_int32_t *sa)
Frees a sparse array.
Definition: sparse_array.c:81
opj_tccp::qmfbid
OPJ_UINT32 qmfbid
discrete wavelet transform identifier
Definition: j2k.h:187
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_sparse_array_int32_write
OPJ_BOOL opj_sparse_array_int32_write(opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, const OPJ_INT32 *src, OPJ_UINT32 src_col_stride, OPJ_UINT32 src_line_stride, OPJ_BOOL forgiving)
Write the content of a rectangular region into the sparse array from a user buffer.
Definition: sparse_array.c:330
opj_uint_subs
static INLINE OPJ_UINT32 opj_uint_subs(OPJ_UINT32 a, OPJ_UINT32 b)
Get the saturated difference of two unsigned integers.
Definition: opj_intmath.h:102
opj_dwt_decode_partial_1
static void opj_dwt_decode_partial_1(OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas, OPJ_INT32 win_l_x0, OPJ_INT32 win_l_x1, OPJ_INT32 win_h_x0, OPJ_INT32 win_h_x1)
Definition: dwt.c:1597
opj_sparse_array_int32_read
OPJ_BOOL opj_sparse_array_int32_read(const opj_sparse_array_int32_t *sa, OPJ_UINT32 x0, OPJ_UINT32 y0, OPJ_UINT32 x1, OPJ_UINT32 y1, OPJ_INT32 *dest, OPJ_UINT32 dest_col_stride, OPJ_UINT32 dest_line_stride, OPJ_BOOL forgiving)
Read the content of a rectangular region of the sparse array into a user buffer.
Definition: sparse_array.c:311
opj_dwd_decode_v_job_t::tiledp
OPJ_INT32 *OPJ_RESTRICT tiledp
Definition: dwt.c:1352
OPJ_DD__off
#define OPJ_DD__off(i, off)
Definition: dwt.c:1677
opj_tcd_band::y0
OPJ_INT32 y0
Definition: tcd.h:159
OPJ_DD_
#define OPJ_DD_(i)
Definition: dwt.c:214
opj_tcd_cblk_dec
Code-block for decoding.
Definition: tcd.h:120
opj_dwd_decode_v_job_t::w
OPJ_UINT32 w
Definition: dwt.c:1351
opj_dwt_init_sparse_array
static opj_sparse_array_int32_t * opj_dwt_init_sparse_array(opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Definition: dwt.c:1869
opj_tccp
Tile-component coding parameters.
Definition: j2k.h:175
opj_tcd_tilecomp::data
OPJ_INT32 * data
Definition: tcd.h:204
dwt_local::mem
OPJ_INT32 * mem
Definition: dwt.c:84
v4dwt_local::wavelet
opj_v4_t * wavelet
Definition: dwt.c:95
opj_dwt_calc_explicit_stepsizes
void opj_dwt_calc_explicit_stepsizes(opj_tccp_t *tccp, OPJ_UINT32 prec)
Explicit calculation of the Quantization Stepsizes.
Definition: dwt.c:1280
opj_dwt_alpha
static const OPJ_FLOAT32 opj_dwt_alpha
Definition: dwt.c:105
opj_dwt_t
struct dwt_local opj_dwt_t
opj_aligned_free
void opj_aligned_free(void *ptr)
Definition: opj_malloc.c:225
opj_dwt_decode
OPJ_BOOL opj_dwt_decode(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres)
Inverse 5-3 wavelet transform in 2-D.
Definition: dwt.c:1206
opj_tcd::thread_pool
opj_thread_pool_t * thread_pool
Thread pool.
Definition: tcd.h:275
opj_uint_ceildivpow2
static INLINE OPJ_UINT32 opj_uint_ceildivpow2(OPJ_UINT32 a, OPJ_UINT32 b)
Divide an integer by a power of 2 and round upwards.
Definition: opj_intmath.h:198
v4dwt_local::win_l_x1
OPJ_UINT32 win_l_x1
Definition: dwt.c:100
opj_idwt53_h_cas0
static void opj_idwt53_h_cas0(OPJ_INT32 *tmp, const OPJ_INT32 sn, const OPJ_INT32 len, OPJ_INT32 *tiledp)
Definition: dwt.c:415
opj_tcd_cblk_dec::y0
OPJ_INT32 y0
Definition: tcd.h:124
opj_dwt_decode_partial_1_parallel
static void opj_dwt_decode_partial_1_parallel(OPJ_INT32 *a, OPJ_UINT32 nb_cols, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas, OPJ_INT32 win_l_x0, OPJ_INT32 win_l_x1, OPJ_INT32 win_h_x0, OPJ_INT32 win_h_x1)
Definition: dwt.c:1679
v4dwt_local::win_h_x0
OPJ_UINT32 win_h_x0
Definition: dwt.c:101
opj_aligned_malloc
void * opj_aligned_malloc(size_t size)
Allocate memory aligned to a 16 byte boundary.
Definition: opj_malloc.c:207
opj_dwt_decode_tile
static OPJ_BOOL opj_dwt_decode_tile(opj_thread_pool_t *tp, opj_tcd_tilecomp_t *tilec, OPJ_UINT32 i)
Inverse wavelet transform in 2-D.
Definition: dwt.c:1381
opj_v4dwt_decode_step1
static void opj_v4dwt_decode_step1(opj_v4_t *w, OPJ_UINT32 start, OPJ_UINT32 end, const OPJ_FLOAT32 c)
Definition: dwt.c:2376
opj_v4dwt_interleave_partial_v
static void opj_v4dwt_interleave_partial_v(opj_v4dwt_t *OPJ_RESTRICT dwt, opj_sparse_array_int32_t *sa, OPJ_UINT32 sa_col, OPJ_UINT32 nb_elts_read)
Definition: dwt.c:2273
OPJ_UINT32
uint32_t OPJ_UINT32
Definition: openjpeg.h:126
opj_tcd_band::bandno
OPJ_UINT32 bandno
Definition: tcd.h:161
OPJ_S_off
#define OPJ_S_off(i, off)
Definition: dwt.c:1672
opj_tcd_tilecomp::win_x1
OPJ_UINT32 win_x1
Definition: tcd.h:217
dwt_local::sn
OPJ_INT32 sn
Definition: dwt.c:86
OPJ_S
#define OPJ_S(i)
Definition: dwt.c:208
v4dwt_local::cas
OPJ_INT32 cas
Definition: dwt.c:98
opj_dwt_getgain_real
OPJ_UINT32 opj_dwt_getgain_real(OPJ_UINT32 orient)
Get the gain of a subband for the irreversible 9-7 DWT.
Definition: dwt.c:1258
OPJ_FALSE
#define OPJ_FALSE
Definition: openjpeg.h:112
opj_dwt_get_band_coordinates
static void opj_dwt_get_band_coordinates(opj_tcd_tilecomp_t *tilec, OPJ_UINT32 resno, OPJ_UINT32 bandno, OPJ_UINT32 tcx0, OPJ_UINT32 tcy0, OPJ_UINT32 tcx1, OPJ_UINT32 tcy1, OPJ_UINT32 *tbx0, OPJ_UINT32 *tby0, OPJ_UINT32 *tbx1, OPJ_UINT32 *tby1)
Definition: dwt.c:1816
opj_dwt_decode_v_func
static void opj_dwt_decode_v_func(void *user_data, opj_tls_t *tls)
Definition: dwt.c:1357
opj_dwt_decode_real
OPJ_BOOL opj_dwt_decode_real(opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *OPJ_RESTRICT tilec, OPJ_UINT32 numres)
Inverse 9-7 wavelet transform in 2-D.
Definition: dwt.c:2883
opj_dwt_getgain
OPJ_UINT32 opj_dwt_getgain(OPJ_UINT32 orient)
Get the gain of a subband for the reversible 5-3 DWT.
Definition: dwt.c:1220
OPJ_S__off
#define OPJ_S__off(i, off)
Definition: dwt.c:1674
opj_tcd_resolution::win_y1
OPJ_UINT32 win_y1
Definition: tcd.h:185
opj_sparse_array_int32_create
opj_sparse_array_int32_t * opj_sparse_array_int32_create(OPJ_UINT32 width, OPJ_UINT32 height, OPJ_UINT32 block_width, OPJ_UINT32 block_height)
Creates a new sparse array.
Definition: sparse_array.c:45
opj_dwd_decode_v_job_t::max_j
OPJ_UINT32 max_j
Definition: dwt.c:1354
opj_tcd_precinct::dec
opj_tcd_cblk_dec_t * dec
Definition: tcd.h:148
v4dwt_local::sn
OPJ_INT32 sn
Definition: dwt.c:97
v4dwt_local
Definition: dwt.c:94
opj_dwt_norms
static const OPJ_FLOAT64 opj_dwt_norms[4][10]
Definition: dwt.c:221
OPJ_SS_
#define OPJ_SS_(i)
Definition: dwt.c:213
dwt_local::dn
OPJ_INT32 dn
Definition: dwt.c:85
J2K_CCP_QNTSTY_NOQNT
#define J2K_CCP_QNTSTY_NOQNT
Definition: j2k.h:64
opj_dwt_deinterleave_h
static void opj_dwt_deinterleave_h(OPJ_INT32 *a, OPJ_INT32 *b, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas)
Forward lazy transform (horizontal)
Definition: dwt.c:249
opj_tcd_precinct::ch
OPJ_UINT32 ch
Definition: tcd.h:145
opj_thread_pool_t
Definition: thread.c:605
opj_tcd
Tile coder/decoder.
Definition: tcd.h:251
OPJ_D_
#define OPJ_D_(i)
Definition: dwt.c:211
opj_dwt_decode_h_func
static void opj_dwt_decode_h_func(void *user_data, opj_tls_t *tls)
Definition: dwt.c:1333
opj_tcd_resolution::win_y0
OPJ_UINT32 win_y0
Definition: tcd.h:183
opj_tcd_resolution::win_x1
OPJ_UINT32 win_x1
Definition: tcd.h:184
opj_idwt53_h
static void opj_idwt53_h(const opj_dwt_t *dwt, OPJ_INT32 *tiledp)
Definition: dwt.c:559
v4dwt_local::dn
OPJ_INT32 dn
Definition: dwt.c:96