OpenJPH
Open-source implementation of JPEG2000 Part-15
Toggle main menu visibility
Loading...
Searching...
No Matches
ojph_transform.h
Go to the documentation of this file.
1
//***************************************************************************/
2
// This software is released under the 2-Clause BSD license, included
3
// below.
4
//
5
// Copyright (c) 2019, Aous Naman
6
// Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
7
// Copyright (c) 2019, The University of New South Wales, Australia
8
//
9
// Redistribution and use in source and binary forms, with or without
10
// modification, are permitted provided that the following conditions are
11
// met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
21
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
23
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
26
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
//***************************************************************************/
32
// This file is part of the OpenJPH software implementation.
33
// File: ojph_transform.h
34
// Author: Aous Naman
35
// Date: 28 August 2019
36
//***************************************************************************/
37
38
39
#ifndef OJPH_TRANSFORM_H
40
#define OJPH_TRANSFORM_H
41
42
#include "
ojph_defs.h
"
43
44
namespace
ojph
{
45
46
// defined elsewhere
47
class
line_buf
;
48
49
namespace
local
{
50
union
lifting_step
;
51
struct
param_atk
;
52
54
void
init_wavelet_transform_functions
();
55
57
// Reversible functions
59
61
extern
void (*
rev_vert_step
)
62
(
const
lifting_step
* s,
const
line_buf* sig,
const
line_buf* other,
63
const
line_buf* aug,
ui32
repeat,
bool
synthesis);
64
66
extern
void (*
rev_horz_ana
)
67
(
const
param_atk
* atk,
const
line_buf* ldst,
const
line_buf* hdst,
68
const
line_buf* src,
ui32
width,
bool
even);
69
71
extern
void (*
rev_horz_syn
)
72
(
const
param_atk
* atk,
const
line_buf* dst,
const
line_buf* lsrc,
73
const
line_buf* hsrc,
ui32
width,
bool
even);
74
76
// Irreversible functions
78
80
extern
void (*
irv_vert_step
)
81
(
const
lifting_step
* s,
const
line_buf* sig,
const
line_buf* other,
82
const
line_buf* aug,
ui32
repeat,
bool
synthesis);
83
85
extern
void (*
irv_vert_times_K
)
86
(
float
K,
const
line_buf* aug,
ui32
repeat);
87
89
extern
void (*
irv_horz_ana
)
90
(
const
param_atk
* atk,
const
line_buf* ldst,
const
line_buf* hdst,
91
const
line_buf* src,
ui32
width,
bool
even);
92
94
extern
void (*
irv_horz_syn
)
95
(
const
param_atk
* atk,
const
line_buf* dst,
const
line_buf* lsrc,
96
const
line_buf* hsrc,
ui32
width,
bool
even);
97
98
}
99
}
100
101
#endif
// !OJPH_TRANSFORM_H
ojph::line_buf
Definition
ojph_mem.h:161
ojph::local
Definition
ojph_bitbuffer_read.h:53
ojph::local::rev_horz_ana
void(*) rev_horz_ana(const param_atk *atk, const line_buf *ldst, const line_buf *hdst, const line_buf *src, ui32 width, bool even)
Definition
ojph_transform.cpp:66
ojph::local::rev_horz_syn
void(*) rev_horz_syn(const param_atk *atk, const line_buf *dst, const line_buf *lsrc, const line_buf *hsrc, ui32 width, bool even)
Definition
ojph_transform.cpp:71
ojph::local::init_wavelet_transform_functions
void init_wavelet_transform_functions()
Definition
ojph_transform.cpp:98
ojph::local::irv_vert_times_K
void(*) irv_vert_times_K(float K, const line_buf *aug, ui32 repeat)
Definition
ojph_transform.cpp:85
ojph::local::rev_vert_step
void(*) rev_vert_step(const lifting_step *s, const line_buf *sig, const line_buf *other, const line_buf *aug, ui32 repeat, bool synthesis)
Definition
ojph_transform.cpp:61
ojph::local::irv_vert_step
void(*) irv_vert_step(const lifting_step *s, const line_buf *sig, const line_buf *other, const line_buf *aug, ui32 repeat, bool synthesis)
Definition
ojph_transform.cpp:80
ojph::local::irv_horz_ana
void(*) irv_horz_ana(const param_atk *atk, const line_buf *ldst, const line_buf *hdst, const line_buf *src, ui32 width, bool even)
Definition
ojph_transform.cpp:89
ojph::local::irv_horz_syn
void(*) irv_horz_syn(const param_atk *atk, const line_buf *dst, const line_buf *lsrc, const line_buf *hsrc, ui32 width, bool even)
Definition
ojph_transform.cpp:94
ojph
Definition
ojph_img_io.h:52
ojph::ui32
uint32_t ui32
Definition
ojph_defs.h:54
ojph_defs.h
ojph::local::param_atk
Definition
ojph_params_local.h:1224
ojph::local::lifting_step
Definition
ojph_params_local.h:1204
src
core
transform
ojph_transform.h
Generated by
1.18.0