WaveletFwd.cpp File Reference
`#include "grk_includes.h"`
`#include <algorithm>`
`#include <limits>`
`#include <sstream>`

## Classes

struct | grk::dwt_line< T >
struct | grk::encode_h_job< T, DWT >
struct | grk::encode_v_job< T, DWT >

## Namespaces

namespace | grk
| Copyright (C) 2016-2023 Grok Image Compression Inc.

## Macros

#define | GRK_S(i) a[(i) << 1]
#define | GRK_D(i) a[(1 + ((i) << 1))]
#define | GRK_S_(i) ((i) < 0 ? GRK_S(0) : ((i) >= sn ? GRK_S(sn - 1) : GRK_S(i)))
#define | GRK_D_(i) ((i) < 0 ? GRK_D(0) : ((i) >= dn ? GRK_D(dn - 1) : GRK_D(i)))
#define | GRK_SS_(i) ((i) < 0 ? GRK_S(0) : ((i) >= dn ? GRK_S(dn - 1) : GRK_S(i)))
#define | GRK_DD_(i) ((i) < 0 ? GRK_D(0) : ((i) >= sn ? GRK_D(sn - 1) : GRK_D(i)))
#define | GRK_Sc(i) tmp[((i) << 1) * NB_ELTS_V8 + c]
#define | GRK_Dc(i) tmp[((1 + ((i) << 1))) * NB_ELTS_V8 + c]

## Functions

template<typename T >
void | grk::deinterleave_h (const T *GRK_RESTRICT a, T *GRK_RESTRICT b, int32_t dn, int32_t sn, int32_t parity)
template<typename T , typename DWT >
void | grk::encode_h_func (encode_h_job< T, DWT > *job)
template<typename T , typename DWT >
void | grk::encode_v_func (encode_v_job< T, DWT > *job)
template<typename T >
void | grk::fetch_cols_vertical_pass (const T *array, T *tmp, uint32_t height, uint32_t stride_width, uint32_t cols)
| Fetch up to cols <= NB_ELTS_V8 for each line, and put them in tmpOut.
template<typename T >
void | grk::deinterleave_v_cols (const T *GRK_RESTRICT src, T *GRK_RESTRICT dst, uint32_t dn, uint32_t sn, uint32_t stride_width, uint32_t parity, uint32_t cols)

## Variables

const uint32_t | grk::NB_ELTS_V8 = 8
static const float | grk::alpha = -1.586134342f
static const float | grk::beta = -0.052980118f
static const float | grk::gamma = 0.882911075f
static const float | grk::delta = 0.443506852f
static const float | grk::grk_K = 1.230174105f
static const float | grk::grk_invK = (float)(1.0 / 1.230174105)

## Macro Definition Documentation

## GRK_D

#define GRK_D | ( |  | i | ) | a[(1 + ((i) << 1))]

## GRK_D_

#define GRK_D_ | ( |  | i | ) | ((i) < 0 ? GRK_D(0) : ((i) >= dn ? GRK_D(dn - 1) : GRK_D(i)))

## GRK_Dc

#define GRK_Dc | ( |  | i | ) | tmp[((1 + ((i) << 1))) * NB_ELTS_V8 + c]

## GRK_DD_

#define GRK_DD_ | ( |  | i | ) | ((i) < 0 ? GRK_D(0) : ((i) >= sn ? GRK_D(sn - 1) : GRK_D(i)))

## GRK_S

#define GRK_S | ( |  | i | ) | a[(i) << 1]

## GRK_S_

#define GRK_S_ | ( |  | i | ) | ((i) < 0 ? GRK_S(0) : ((i) >= sn ? GRK_S(sn - 1) : GRK_S(i)))

## GRK_Sc

#define GRK_Sc | ( |  | i | ) | tmp[((i) << 1) * NB_ELTS_V8 + c]

## GRK_SS_

#define GRK_SS_ | ( |  | i | ) | ((i) < 0 ? GRK_S(0) : ((i) >= dn ? GRK_S(dn - 1) : GRK_S(i)))