OpenJPH
Open-source implementation of JPEG2000 Part-15
Toggle main menu visibility
Loading...
Searching...
No Matches
ojph_tile_comp.h
Go to the documentation of this file.
1
2
//***************************************************************************/
3
// This software is released under the 2-Clause BSD license, included
4
// below.
5
//
6
// Copyright (c) 2019, Aous Naman
7
// Copyright (c) 2019, Kakadu Software Pty Ltd, Australia
8
// Copyright (c) 2019, The University of New South Wales, Australia
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
22
// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
24
// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
25
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
27
// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
//***************************************************************************/
33
// This file is part of the OpenJPH software implementation.
34
// File: ojph_tile_comp.h
35
// Author: Aous Naman
36
// Date: 28 August 2019
37
//***************************************************************************/
38
39
40
#ifndef OJPH_TILE_COMP_H
41
#define OJPH_TILE_COMP_H
42
43
#include "
ojph_defs.h
"
44
#include "
ojph_base.h
"
45
#include "
ojph_file.h
"
46
47
namespace
ojph
{
48
50
//defined elsewhere
51
class
line_buf
;
52
class
codestream
;
53
54
namespace
local
{
55
57
//defined here
58
class
tile
;
59
class
resolution
;
60
62
class
tile_comp
63
{
64
public
:
65
static
void
pre_alloc
(
codestream
*
codestream
,
ui32
comp_num
,
66
const
rect
&
comp_rect
,
67
const
rect
& recon_comp_rect);
68
void
finalize_alloc
(
codestream
*
codestream
,
tile
*parent,
69
ui32
comp_num
,
const
rect
&
comp_rect
,
70
const
rect
& recon_comp_rect);
71
72
ui32
get_num_resolutions
() {
return
num_decomps
+ 1; }
73
ui32
get_num_decompositions
() {
return
num_decomps
; }
74
tile
*
get_tile
() {
return
parent_tile
; }
75
line_buf
*
get_line
();
76
void
push_line
();
77
line_buf
*
pull_line
();
78
79
ui32
prepare_precincts
();
80
void
write_precincts
(
ui32
res_num,
outfile_base
*file);
81
bool
get_top_left_precinct
(
ui32
res_num,
point
&top_left);
82
void
write_one_precinct
(
ui32
res_num,
outfile_base
*file);
83
void
parse_precincts
(
ui32
res_num,
ui32
& data_left,
infile_base
*file);
84
void
parse_one_precinct
(
ui32
res_num,
ui32
& data_left,
85
infile_base
*file);
86
87
ui32
get_num_bytes
()
const
{
return
num_bytes
; }
88
ui32
get_num_bytes
(
ui32
resolution_num)
const
;
89
90
private
:
91
tile
*
parent_tile
;
92
resolution
*
res
;
93
rect
comp_rect
;
94
ojph::point
comp_downsamp
;
95
ui32
num_decomps
;
96
ui32
comp_num
;
97
ui32
num_bytes
;
// number of bytes in this tile component
98
// used for tilepart length
99
};
100
101
}
102
}
103
104
#endif
// !OJPH_TILE_COMP_H
ojph::codestream
The object represent a codestream.
Definition
ojph_codestream.h:89
ojph::infile_base
Definition
ojph_file.h:267
ojph::line_buf
Definition
ojph_mem.h:161
ojph::local::codestream
Definition
ojph_codestream_local.h:65
ojph::local::resolution
Definition
ojph_resolution.h:62
ojph::local::tile_comp
Definition
ojph_tile_comp.h:63
ojph::local::tile_comp::get_tile
tile * get_tile()
Definition
ojph_tile_comp.h:74
ojph::local::tile_comp::get_line
line_buf * get_line()
Definition
ojph_tile_comp.cpp:92
ojph::local::tile_comp::num_decomps
ui32 num_decomps
Definition
ojph_tile_comp.h:95
ojph::local::tile_comp::parent_tile
tile * parent_tile
Definition
ojph_tile_comp.h:91
ojph::local::tile_comp::get_num_resolutions
ui32 get_num_resolutions()
Definition
ojph_tile_comp.h:72
ojph::local::tile_comp::get_num_decompositions
ui32 get_num_decompositions()
Definition
ojph_tile_comp.h:73
ojph::local::tile_comp::get_top_left_precinct
bool get_top_left_precinct(ui32 res_num, point &top_left)
Definition
ojph_tile_comp.cpp:132
ojph::local::tile_comp::num_bytes
ui32 num_bytes
Definition
ojph_tile_comp.h:97
ojph::local::tile_comp::write_one_precinct
void write_one_precinct(ui32 res_num, outfile_base *file)
Definition
ojph_tile_comp.cpp:148
ojph::local::tile_comp::pull_line
line_buf * pull_line()
Definition
ojph_tile_comp.cpp:104
ojph::local::tile_comp::pre_alloc
static void pre_alloc(codestream *codestream, ui32 comp_num, const rect &comp_rect, const rect &recon_comp_rect)
Definition
ojph_tile_comp.cpp:54
ojph::local::tile_comp::comp_rect
rect comp_rect
Definition
ojph_tile_comp.h:93
ojph::local::tile_comp::comp_num
ui32 comp_num
Definition
ojph_tile_comp.h:96
ojph::local::tile_comp::res
resolution * res
Definition
ojph_tile_comp.h:92
ojph::local::tile_comp::finalize_alloc
void finalize_alloc(codestream *codestream, tile *parent, ui32 comp_num, const rect &comp_rect, const rect &recon_comp_rect)
Definition
ojph_tile_comp.cpp:70
ojph::local::tile_comp::parse_one_precinct
void parse_one_precinct(ui32 res_num, ui32 &data_left, infile_base *file)
Definition
ojph_tile_comp.cpp:179
ojph::local::tile_comp::push_line
void push_line()
Definition
ojph_tile_comp.cpp:98
ojph::local::tile_comp::comp_downsamp
ojph::point comp_downsamp
Definition
ojph_tile_comp.h:94
ojph::local::tile_comp::prepare_precincts
ui32 prepare_precincts()
Definition
ojph_tile_comp.cpp:110
ojph::local::tile_comp::write_precincts
void write_precincts(ui32 res_num, outfile_base *file)
Definition
ojph_tile_comp.cpp:117
ojph::local::tile_comp::get_num_bytes
ui32 get_num_bytes() const
Definition
ojph_tile_comp.h:87
ojph::local::tile_comp::parse_precincts
void parse_precincts(ui32 res_num, ui32 &data_left, infile_base *file)
Definition
ojph_tile_comp.cpp:162
ojph::local::tile
Definition
ojph_tile.h:61
ojph::outfile_base
Definition
ojph_file.h:75
ojph::local
Definition
ojph_bitbuffer_read.h:53
ojph
Definition
ojph_img_io.h:52
ojph::ui32
uint32_t ui32
Definition
ojph_defs.h:54
ojph_base.h
ojph_defs.h
ojph_file.h
ojph::point
Definition
ojph_base.h:58
ojph::rect
Definition
ojph_base.h:65
src
core
codestream
ojph_tile_comp.h
Generated by
1.18.0