Grok  7.6.0
dwt_utils.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2020 Grok Image Compression Inc.
3  *
4  * This source code is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU Affero General Public License, version 3,
6  * as published by the Free Software Foundation.
7  *
8  * This source code is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU Affero General Public License for more details.
12  *
13  * You should have received a copy of the GNU Affero General Public License
14  * along with this program. If not, see <http://www.gnu.org/licenses/>.
15  *
16  *
17  * This source code incorporates work covered by the BSD 2-clause license.
18  * Please see the LICENSE file in the root directory for details.
19  *
20  */
21 
22 #pragma once
23 
24 namespace grk {
25 
26 
27 class dwt_utils {
28 public:
29 
36  static double getnorm_53(uint32_t level, uint8_t orient);
43  static double getnorm_97(uint32_t level, uint8_t orient);
44 
45 
46  static uint32_t max_resolution(grk_resolution* GRK_RESTRICT r, uint32_t i);
47  static void deinterleave_v(int32_t *a, int32_t *b, uint32_t d_n, uint32_t s_n,
48  uint32_t stride, int32_t cas);
49  static void deinterleave_h(int32_t *a, int32_t *b, uint32_t d_n, uint32_t s_n,
50  int32_t cas);
51 
52 private:
53  static double getnorm(uint32_t level, uint8_t orient, bool reversible);
54 };
55 
56 }
grk::grk_resolution
Definition: TileProcessor.h:164
grk::dwt_utils::getnorm
static double getnorm(uint32_t level, uint8_t orient, bool reversible)
grk::dwt_utils
Definition: dwt_utils.h:27
GRK_RESTRICT
#define GRK_RESTRICT
Definition: grok_includes.h:102
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
grk::dwt_utils::deinterleave_v
static void deinterleave_v(int32_t *a, int32_t *b, uint32_t d_n, uint32_t s_n, uint32_t stride, int32_t cas)
grk::dwt_utils::max_resolution
static uint32_t max_resolution(grk_resolution *GRK_RESTRICT r, uint32_t i)
grk::dwt_utils::deinterleave_h
static void deinterleave_h(int32_t *a, int32_t *b, uint32_t d_n, uint32_t s_n, int32_t cas)
grk::dwt_utils::getnorm_53
static double getnorm_53(uint32_t level, uint8_t orient)
Get the norm of a wavelet function of a subband at a specified level for the reversible 5-3 DWT.
grk::dwt_utils::getnorm_97
static double getnorm_97(uint32_t level, uint8_t orient)
Get the norm of a wavelet function of a subband at a specified level for the irreversible 9-7 DWT.