#include "opj_includes.h"
Data Structures | |
struct | dwt_local |
union | opj_v4_t |
struct | v4dwt_local |
Local data structures | |
typedef struct dwt_local | opj_dwt_t |
typedef struct v4dwt_local | opj_v4dwt_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_c13318 = 1.625732422f |
Defines | |
#define | OPJ_WS(i) v->mem[(i)*2] |
#define | OPJ_WD(i) v->mem[(1+(i)*2)] |
#define | OPJ_S(i) a[(i)*2] |
#define | OPJ_D(i) a[(1+(i)*2)] |
#define | OPJ_S_(i) ((i)<0?OPJ_S(0):((i)>=sn?OPJ_S(sn-1):OPJ_S(i))) |
#define | OPJ_D_(i) ((i)<0?OPJ_D(0):((i)>=dn?OPJ_D(dn-1):OPJ_D(i))) |
#define | OPJ_SS_(i) ((i)<0?OPJ_S(0):((i)>=dn?OPJ_S(dn-1):OPJ_S(i))) |
#define | OPJ_DD_(i) ((i)<0?OPJ_D(0):((i)>=sn?OPJ_D(sn-1):OPJ_D(i))) |
Typedefs | |
typedef void(* | DWT1DFN )(opj_dwt_t *v) |
Virtual function type for wavelet transform in 1-D. | |
Functions | |
OPJ_BOOL | opj_dwt_encode (opj_tcd_tilecomp_t *tilec) |
Forward 5-3 wavelet tranform in 2-D. | |
OPJ_BOOL | opj_dwt_decode (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 numres) |
Inverse 5-3 wavelet tranform in 2-D. | |
OPJ_UINT32 | opj_dwt_getgain (OPJ_UINT32 orient) |
Get the gain of a subband for the reversible 5-3 DWT. | |
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. | |
OPJ_BOOL | opj_dwt_encode_real (opj_tcd_tilecomp_t *tilec) |
Forward 9-7 wavelet transform in 2-D. | |
OPJ_UINT32 | opj_dwt_getgain_real (OPJ_UINT32 orient) |
Get the gain of a subband for the irreversible 9-7 DWT. | |
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. | |
void | opj_dwt_calc_explicit_stepsizes (opj_tccp_t *tccp, OPJ_UINT32 prec) |
Explicit calculation of the Quantization Stepsizes. | |
OPJ_BOOL | opj_dwt_decode_real (opj_tcd_tilecomp_t *restrict tilec, OPJ_UINT32 numres) |
Inverse 9-7 wavelet transform in 2-D. | |
Local static functions | |
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). | |
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). | |
static void | opj_dwt_interleave_h (opj_dwt_t *h, OPJ_INT32 *a) |
Inverse lazy transform (horizontal). | |
static void | opj_dwt_interleave_v (opj_dwt_t *v, OPJ_INT32 *a, OPJ_INT32 x) |
Inverse lazy transform (vertical). | |
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. | |
static void | opj_dwt_decode_1 (opj_dwt_t *v) |
Inverse 5-3 wavelet transform in 1-D. | |
static void | opj_dwt_decode_1_ (OPJ_INT32 *a, OPJ_INT32 dn, OPJ_INT32 sn, OPJ_INT32 cas) |
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. | |
static void | opj_dwt_encode_stepsize (OPJ_INT32 stepsize, OPJ_INT32 numbps, opj_stepsize_t *bandno_stepsize) |
Explicit calculation of the Quantization Stepsizes. | |
static OPJ_BOOL | opj_dwt_decode_tile (opj_tcd_tilecomp_t *tilec, OPJ_UINT32 i, DWT1DFN fn) |
Inverse wavelet transform in 2-D. | |
static OPJ_BOOL | opj_dwt_encode_procedure (opj_tcd_tilecomp_t *tilec, void(*p_function)(OPJ_INT32 *, OPJ_INT32, OPJ_INT32, OPJ_INT32)) |
static OPJ_UINT32 | opj_dwt_max_resolution (opj_tcd_resolution_t *restrict r, OPJ_UINT32 i) |
static void | opj_v4dwt_decode (opj_v4dwt_t *restrict dwt) |
static void | opj_v4dwt_interleave_h (opj_v4dwt_t *restrict w, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 size) |
static void | opj_v4dwt_interleave_v (opj_v4dwt_t *restrict v, OPJ_FLOAT32 *restrict a, OPJ_INT32 x, OPJ_INT32 nb_elts_read) |
static void | opj_v4dwt_decode_step1 (opj_v4_t *w, OPJ_INT32 count, const OPJ_FLOAT32 c) |
static void | opj_v4dwt_decode_step2 (opj_v4_t *l, opj_v4_t *w, OPJ_INT32 k, OPJ_INT32 m, OPJ_FLOAT32 c) |
Variables | |
static const OPJ_FLOAT64 | opj_dwt_norms [4][10] |
static const OPJ_FLOAT64 | opj_dwt_norms_real [4][10] |
#define OPJ_D | ( | i | ) | a[(1+(i)*2)] |
Referenced by opj_dwt_decode_1_(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().
#define OPJ_D_ | ( | i | ) | ((i)<0?OPJ_D(0):((i)>=dn?OPJ_D(dn-1):OPJ_D(i))) |
Referenced by opj_dwt_decode_1_(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().
#define OPJ_DD_ | ( | i | ) | ((i)<0?OPJ_D(0):((i)>=sn?OPJ_D(sn-1):OPJ_D(i))) |
Referenced by opj_dwt_decode_1_(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().
#define OPJ_S | ( | i | ) | a[(i)*2] |
Referenced by opj_dwt_decode_1_(), opj_dwt_encode_1(), and opj_dwt_encode_1_real().
#define OPJ_S_ | ( | i | ) | ((i)<0?OPJ_S(0):((i)>=sn?OPJ_S(sn-1):OPJ_S(i))) |
Referenced by opj_dwt_encode_1(), and opj_dwt_encode_1_real().
#define OPJ_SS_ | ( | i | ) | ((i)<0?OPJ_S(0):((i)>=dn?OPJ_S(dn-1):OPJ_S(i))) |
Referenced by opj_dwt_decode_1_(), and opj_dwt_encode_1_real().
const OPJ_FLOAT64 opj_dwt_norms[4][10] [static] |
Initial value:
{ {1.000, 1.500, 2.750, 5.375, 10.68, 21.34, 42.67, 85.33, 170.7, 341.3}, {1.038, 1.592, 2.919, 5.703, 11.33, 22.64, 45.25, 90.48, 180.9}, {1.038, 1.592, 2.919, 5.703, 11.33, 22.64, 45.25, 90.48, 180.9}, {.7186, .9218, 1.586, 3.043, 6.019, 12.01, 24.00, 47.97, 95.93} }
const OPJ_FLOAT64 opj_dwt_norms_real[4][10] [static] |
Initial value:
{ {1.000, 1.965, 4.177, 8.403, 16.90, 33.84, 67.69, 135.3, 270.6, 540.9}, {2.022, 3.989, 8.355, 17.04, 34.27, 68.63, 137.3, 274.6, 549.0}, {2.022, 3.989, 8.355, 17.04, 34.27, 68.63, 137.3, 274.6, 549.0}, {2.080, 3.865, 8.307, 17.18, 34.71, 69.59, 139.3, 278.6, 557.2} }