OpenJPH
Open-source implementation of JPEG2000 Part-15
ojph_precinct.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_precinct.h
34
// Author: Aous Naman
35
// Date: 28 August 2019
36
//***************************************************************************/
37
38
39
#ifndef OJPH_PRECINCT_H
40
#define OJPH_PRECINCT_H
41
42
#include "
ojph_defs.h
"
43
44
namespace
ojph
{
45
47
//defined elsewhere
48
class
mem_elastic_allocator;
49
struct
coded_lists;
50
51
namespace
local {
52
54
//defined here
55
class
subband;
56
58
struct
precinct
59
{
60
precinct
() {
61
scratch
= NULL;
bands
= NULL;
coded
= NULL;
62
num_bands
= 0;
may_use_sop
=
uses_eph
=
false
;
63
}
64
ui32
prepare_precinct
(
int
tag_tree_size,
ui32
* lev_idx,
65
mem_elastic_allocator
*elastic);
66
void
write
(
outfile_base
*file);
67
void
parse
(
int
tag_tree_size,
ui32
* lev_idx,
68
mem_elastic_allocator
*elastic,
69
ui32
& data_left,
infile_base
*file,
bool
skipped);
70
71
ui8
*
scratch
;
72
point
img_point
;
//the precinct projected to full resolution
73
rect
cb_idxs
[4];
//indices of codeblocks
74
subband
*
bands
;
//the subbands
75
coded_lists
*
coded
;
76
ui32
num_bands
;
77
bool
may_use_sop
,
uses_eph
;
78
};
79
80
}
81
}
82
83
#endif
// !OJPH_PRECINCT_H
ojph::infile_base
Definition:
ojph_file.h:184
ojph::local::subband
Definition:
ojph_subband.h:63
ojph::mem_elastic_allocator
Definition:
ojph_mem.h:178
ojph::outfile_base
Definition:
ojph_file.h:75
ojph
Definition:
ojph_img_io.h:52
ojph::ui32
uint32_t ui32
Definition:
ojph_defs.h:54
ojph::ui8
uint8_t ui8
Definition:
ojph_defs.h:50
ojph_defs.h
ojph::coded_lists
Definition:
ojph_mem.h:162
ojph::local::precinct
Definition:
ojph_precinct.h:59
ojph::local::precinct::may_use_sop
bool may_use_sop
Definition:
ojph_precinct.h:77
ojph::local::precinct::write
void write(outfile_base *file)
Definition:
ojph_precinct.cpp:278
ojph::local::precinct::coded
coded_lists * coded
Definition:
ojph_precinct.h:75
ojph::local::precinct::num_bands
ui32 num_bands
Definition:
ojph_precinct.h:76
ojph::local::precinct::bands
subband * bands
Definition:
ojph_precinct.h:74
ojph::local::precinct::scratch
ui8 * scratch
Definition:
ojph_precinct.h:71
ojph::local::precinct::prepare_precinct
ui32 prepare_precinct(int tag_tree_size, ui32 *lev_idx, mem_elastic_allocator *elastic)
Definition:
ojph_precinct.cpp:94
ojph::local::precinct::parse
void parse(int tag_tree_size, ui32 *lev_idx, mem_elastic_allocator *elastic, ui32 &data_left, infile_base *file, bool skipped)
Definition:
ojph_precinct.cpp:324
ojph::local::precinct::img_point
point img_point
Definition:
ojph_precinct.h:72
ojph::local::precinct::precinct
precinct()
Definition:
ojph_precinct.h:60
ojph::local::precinct::uses_eph
bool uses_eph
Definition:
ojph_precinct.h:77
ojph::local::precinct::cb_idxs
rect cb_idxs[4]
Definition:
ojph_precinct.h:73
ojph::point
Definition:
ojph_base.h:58
ojph::rect
Definition:
ojph_base.h:65
src
core
codestream
ojph_precinct.h
Generated by
1.9.4