OpenJPEG
2.4.0
|
Data Structures | |
struct | dwt_local |
union | opj_v8_t |
struct | v8dwt_local |
Macros | |
#define | OPJ_WS(i) v->mem[(i)*2] |
#define | OPJ_WD(i) v->mem[(1+(i)*2)] |
#define | VREG_INT_COUNT 4 |
Number of int32 values in a SSE2 register. More... | |
#define | PARALLEL_COLS_53 (2*VREG_INT_COUNT) |
Number of columns that we can process in parallel in the vertical pass. More... | |
Local data structures | |
typedef struct dwt_local | opj_dwt_t |
typedef struct v8dwt_local | opj_v8dwt_t |
static const OPJ_FLOAT32 | opj_dwt_alpha = -1.586134342f |
static const OPJ_FLOAT32 | opj_dwt_beta = -0.052980118f |
static const OPJ_FLOAT32 | opj_dwt_gamma = 0.882911075f |
static const OPJ_FLOAT32 | opj_dwt_delta = 0.443506852f |
static const OPJ_FLOAT32 | opj_K = 1.230174105f |
static const OPJ_FLOAT32 | opj_invK = (OPJ_FLOAT32)(1.0 / 1.230174105) |
#define | NB_ELTS_V8 8 |
Exported functions | |
OPJ_BOOL | opj_dwt_encode (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec) |
Forward 5-3 wavelet transform in 2-D. More... | |
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. More... | |
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. More... | |
OPJ_BOOL | opj_dwt_encode_real (opj_tcd_t *p_tcd, opj_tcd_tilecomp_t *tilec) |
Forward 9-7 wavelet transform in 2-D. More... | |
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. More... | |
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. More... | |
void | opj_dwt_calc_explicit_stepsizes (opj_tccp_t *tccp, OPJ_UINT32 prec) |
Explicit calculation of the Quantization Stepsizes. More... | |
#define NB_ELTS_V8 8 |
Referenced by opj_dwt97_decode_h_func(), opj_dwt97_decode_v_func(), opj_dwt_decode_partial_97(), opj_dwt_decode_tile_97(), opj_dwt_deinterleave_v_cols(), opj_dwt_encode_and_deinterleave_v(), opj_dwt_encode_and_deinterleave_v_real(), opj_dwt_encode_procedure(), opj_dwt_encode_v_func(), opj_dwt_fetch_cols_vertical_pass(), opj_v8dwt_decode_step2(), opj_v8dwt_encode_step1(), opj_v8dwt_encode_step2(), opj_v8dwt_interleave_h(), opj_v8dwt_interleave_partial_h(), and opj_v8dwt_interleave_partial_v().
#define OPJ_WD | ( | i | ) | v->mem[(1+(i)*2)] |
#define OPJ_WS | ( | i | ) | v->mem[(i)*2] |
#define PARALLEL_COLS_53 (2*VREG_INT_COUNT) |
Number of columns that we can process in parallel in the vertical pass.
Referenced by opj_dwt_decode_tile(), opj_dwt_decode_v_func(), opj_idwt53_h(), and opj_idwt53_v().
#define VREG_INT_COUNT 4 |
Number of int32 values in a SSE2 register.
Referenced by opj_idwt53_h().
typedef void(* opj_encode_and_deinterleave_h_one_row_fnptr_type) (void *row, void *tmp, OPJ_UINT32 width, OPJ_BOOL even) |
typedef void(* opj_encode_and_deinterleave_v_fnptr_type) (void *array, void *tmp, OPJ_UINT32 height, OPJ_BOOL even, OPJ_UINT32 stride_width, OPJ_UINT32 cols) |
typedef struct v8dwt_local opj_v8dwt_t |
void opj_dwt_calc_explicit_stepsizes | ( | opj_tccp_t * | tccp, |
OPJ_UINT32 | prec | ||
) |
Explicit calculation of the Quantization Stepsizes.
tccp | Tile-component coding parameters |
prec | Precint analyzed |
References J2K_CCP_QNTSTY_NOQNT, opj_tccp::numresolutions, opj_dwt_encode_stepsize(), opj_dwt_getnorm_real(), opj_tccp::qmfbid, opj_tccp::qntsty, and opj_tccp::stepsizes.
Referenced by opj_j2k_setup_encoder().
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.
Apply a reversible inverse DWT transform to a component of an image.
p_tcd | TCD handle |
tilec | Tile component information (current tile) |
numres | Number of resolution levels to decode |
References opj_dwt_decode_partial_tile(), opj_dwt_decode_tile(), opj_tcd::thread_pool, and opj_tcd::whole_tile_decoding.
Referenced by main(), and opj_tcd_dwt_decode().
|
static |
References opj_tcd_resolution::bands, dwt_local::cas, opj_tcd_tilecomp::data_win, dwt_local::dn, dwt_local::mem, opj_aligned_32_malloc(), opj_aligned_free(), opj_dwt_decode_partial_1(), opj_dwt_decode_partial_1_parallel(), opj_dwt_get_band_coordinates(), opj_dwt_init_sparse_array(), opj_dwt_interleave_partial_h(), opj_dwt_interleave_partial_v(), opj_dwt_max_resolution(), opj_dwt_segment_grow(), OPJ_FALSE, opj_sparse_array_int32_free(), opj_sparse_array_int32_read(), opj_sparse_array_int32_write(), OPJ_TRUE, opj_uint_max(), opj_uint_min(), opj_uint_subs(), OPJ_UNUSED, opj_tcd_tilecomp::resolutions, SIZE_MAX, dwt_local::sn, opj_tcd_resolution::win_x0, opj_tcd_tilecomp::win_x0, opj_tcd_resolution::win_x1, opj_tcd_tilecomp::win_x1, opj_tcd_resolution::win_y0, opj_tcd_tilecomp::win_y0, opj_tcd_resolution::win_y1, opj_tcd_tilecomp::win_y1, opj_tcd_band::x0, opj_tcd_resolution::x0, opj_tcd_resolution::x1, opj_tcd_band::y0, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.
Referenced by opj_dwt_decode().
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.
Apply an irreversible inverse DWT transform to a component of an image.
p_tcd | TCD handle |
tilec | Tile component information (current tile) |
numres | Number of resolution levels to decode |
References opj_dwt_decode_partial_97(), opj_dwt_decode_tile_97(), opj_tcd::thread_pool, and opj_tcd::whole_tile_decoding.
Referenced by main(), and opj_tcd_dwt_decode().
|
static |
Inverse wavelet transform in 2-D.
References dwt_local::cas, opj_tcd_tilecomp::data, dwt_local::dn, opj_dwt_decode_h_job_t::h, opj_dwt_decode_h_job_t::max_j, opj_dwt_decode_v_job_t::max_j, dwt_local::mem, opj_dwt_decode_h_job_t::min_j, opj_dwt_decode_v_job_t::min_j, opj_tcd_tilecomp::minimum_num_resolutions, opj_aligned_32_malloc(), opj_aligned_free(), opj_dwt_decode_h_func(), opj_dwt_decode_v_func(), opj_dwt_max_resolution(), OPJ_FALSE, opj_free(), opj_idwt53_h(), opj_idwt53_v(), opj_malloc(), OPJ_RESTRICT, opj_thread_pool_get_thread_count(), opj_thread_pool_submit_job(), opj_thread_pool_wait_completion(), OPJ_TRUE, PARALLEL_COLS_53, opj_tcd_tilecomp::resolutions, opj_dwt_decode_v_job_t::rh, opj_dwt_decode_h_job_t::rw, SIZE_MAX, dwt_local::sn, opj_dwt_decode_h_job_t::tiledp, opj_dwt_decode_v_job_t::tiledp, opj_dwt_decode_v_job_t::v, opj_dwt_decode_h_job_t::w, opj_dwt_decode_v_job_t::w, opj_tcd_resolution::x0, opj_tcd_resolution::x1, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.
Referenced by opj_dwt_decode().
|
static |
Forward lazy transform (horizontal)
References dwt_local::cas, dwt_local::dn, dwt_local::mem, OPJ_D, OPJ_D_, OPJ_DD_, OPJ_RESTRICT, OPJ_S, OPJ_S_, OPJ_SS_, and dwt_local::sn.
Referenced by opj_dwt_encode_and_deinterleave_h_one_row_real().
OPJ_BOOL opj_dwt_encode | ( | opj_tcd_t * | p_tcd, |
opj_tcd_tilecomp_t * | tilec | ||
) |
Forward 5-3 wavelet transform in 2-D.
Apply a reversible DWT transform to a component of an image.
p_tcd | TCD handle |
tilec | Tile component information (current tile) |
References opj_dwt_encode_and_deinterleave_h_one_row(), opj_dwt_encode_and_deinterleave_v(), opj_dwt_encode_procedure(), and opj_tcd::thread_pool.
Referenced by main(), and opj_tcd_dwt_encode().
Forward 9-7 wavelet transform in 1-D.
References opj_dwt_alpha, opj_dwt_beta, opj_dwt_delta, opj_dwt_encode_step1_combined(), opj_dwt_encode_step2(), opj_dwt_gamma, opj_int_min(), opj_invK, and opj_K.
Referenced by opj_dwt_encode_and_deinterleave_h_one_row_real().
|
static |
References dwt_local::cas, opj_tcd_tilecomp::data, dwt_local::dn, opj_dwt_encode_h_job_t::h, opj_dwt_encode_h_job_t::max_j, opj_dwt_encode_v_job_t::max_j, dwt_local::mem, opj_dwt_encode_h_job_t::min_j, opj_dwt_encode_v_job_t::min_j, NB_ELTS_V8, opj_tcd_tilecomp::numresolutions, opj_aligned_32_malloc(), opj_aligned_free(), opj_dwt_encode_h_func(), opj_dwt_encode_v_func(), opj_dwt_max_resolution(), OPJ_FALSE, opj_free(), opj_malloc(), OPJ_RESTRICT, opj_thread_pool_get_thread_count(), opj_thread_pool_submit_job(), opj_thread_pool_wait_completion(), OPJ_TRUE, opj_dwt_encode_v_job_t::p_encode_and_deinterleave_v, opj_dwt_encode_h_job_t::p_function, opj_tcd_tilecomp::resolutions, opj_dwt_encode_v_job_t::rh, opj_dwt_encode_h_job_t::rw, SIZE_MAX, dwt_local::sn, opj_dwt_encode_h_job_t::tiledp, opj_dwt_encode_v_job_t::tiledp, opj_dwt_encode_v_job_t::v, opj_dwt_encode_h_job_t::w, opj_dwt_encode_v_job_t::w, opj_tcd_resolution::x0, opj_tcd_tilecomp::x0, opj_tcd_resolution::x1, opj_tcd_tilecomp::x1, opj_tcd_resolution::y0, and opj_tcd_resolution::y1.
Referenced by opj_dwt_encode(), and opj_dwt_encode_real().
OPJ_BOOL opj_dwt_encode_real | ( | opj_tcd_t * | p_tcd, |
opj_tcd_tilecomp_t * | tilec | ||
) |
Forward 9-7 wavelet transform in 2-D.
Apply an irreversible DWT transform to a component of an image.
p_tcd | TCD handle |
tilec | Tile component information (current tile) |
References opj_dwt_encode_and_deinterleave_h_one_row_real(), opj_dwt_encode_and_deinterleave_v_real(), opj_dwt_encode_procedure(), and opj_tcd::thread_pool.
Referenced by main(), and opj_tcd_dwt_encode().
|
static |
Explicit calculation of the Quantization Stepsizes.
References opj_stepsize::expn, opj_stepsize::mant, and opj_int_floorlog2().
Referenced by opj_dwt_calc_explicit_stepsizes().
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.
level | Level of the wavelet function |
orient | Band of the wavelet function |
Referenced by opj_t1_getwmsedec().
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.
level | Level of the wavelet function |
orient | Band of the wavelet function |
Referenced by opj_dwt_calc_explicit_stepsizes(), and opj_t1_getwmsedec().
|
static |
|
static |
Referenced by opj_dwt_encode_1_real(), opj_dwt_encode_and_deinterleave_v_real(), and opj_v8dwt_decode().
|
static |
Referenced by opj_dwt_encode_1_real(), opj_dwt_encode_and_deinterleave_v_real(), and opj_v8dwt_decode().
|
static |
Referenced by opj_dwt_encode_1_real(), opj_dwt_encode_and_deinterleave_v_real(), and opj_v8dwt_decode().
|
static |
Referenced by opj_dwt_encode_1_real(), opj_dwt_encode_and_deinterleave_v_real(), and opj_v8dwt_decode().
|
static |
Referenced by opj_dwt_encode_1_real(), and opj_dwt_encode_and_deinterleave_v_real().
|
static |
Referenced by opj_dwt_encode_1_real(), opj_dwt_encode_and_deinterleave_v_real(), and opj_v8dwt_decode().