Grok 12.0.1
Classes | Namespaces | Macros | Functions | Variables
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-2024 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)))