Grok  7.6.0
TileComponent.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 #include "testing.h"
24 #include <vector>
25 
26 #include "TileProcessor.h"
27 
28 namespace grk {
29 
30 // tile component
31 struct TileComponent : public grk_rect_u32 {
34 
35  void create_buffer( grk_image *output_image,uint32_t dx,uint32_t dy);
36 
37  bool init(bool isEncoder,
38  bool whole_tile,
39  grk_image *output_image,
40  CodingParams *cp,
41  TileCodingParams *tcp,
42  grk_tile *tile,
43  grk_image_comp* image_comp,
45  grk_plugin_tile *current_plugin_tile);
46 
47  void alloc_sparse_array(uint32_t numres);
48  void release_mem();
49 
50  bool is_subband_area_of_interest(uint32_t resno,
51  uint32_t bandno,
52  uint32_t aoi_x0,
53  uint32_t aoi_y0,
54  uint32_t aoi_x1,
55  uint32_t aoi_y1) const;
56 
57  uint32_t numresolutions; /* number of resolutions level */
59  uint32_t resolutions_to_decompress; /* number of resolutions level to decompress (at max)*/
60  grk_resolution *resolutions; /* resolutions information */
61 #ifdef DEBUG_LOSSLESS_T2
62  grk_resolution* round_trip_resolutions; /* round trip resolution information */
63 #endif
64  uint64_t numpix;
69 
70 private:
72 
73 };
74 
75 }
76 
77 
78 
79 
grk::TileComponent::TileComponent
TileComponent()
grk::TileComponent::resolutions_to_decompress
uint32_t resolutions_to_decompress
Definition: TileComponent.h:59
grk::grk_resolution
Definition: TileProcessor.h:164
grk::grk_rectangle< uint32_t >
grk::TileCodingParams
Tile coding parameters : this structure is used to store coding/decoding parameters common to all til...
Definition: CodingParams.h:117
grk::TileComponentCodingParams
Tile-component coding parameters.
Definition: CodingParams.h:49
grk::TileComponent::release_mem
void release_mem()
_grk_plugin_tile
Plugin tile.
Definition: grok.h:1242
grk::TileComponent::numAllocatedResolutions
uint32_t numAllocatedResolutions
Definition: TileComponent.h:58
testing.h
grk::TileComponent::m_tccp
TileComponentCodingParams * m_tccp
Definition: TileComponent.h:71
grk::TileComponent::buf
TileComponentBuffer< int32_t > * buf
Definition: TileComponent.h:65
grk::TileComponent::~TileComponent
~TileComponent()
grk::CodingParams
Coding parameters.
Definition: CodingParams.h:230
grk::TileComponent::create_buffer
void create_buffer(grk_image *output_image, uint32_t dx, uint32_t dy)
_grk_image_comp
Image component.
Definition: grok.h:851
grk::TileComponent::whole_tile_decoding
bool whole_tile_decoding
Definition: TileComponent.h:66
grk::TileComponent::init
bool init(bool isEncoder, bool whole_tile, grk_image *output_image, CodingParams *cp, TileCodingParams *tcp, grk_tile *tile, grk_image_comp *image_comp, TileComponentCodingParams *tccp, grk_plugin_tile *current_plugin_tile)
grk::TileComponent::resolutions
grk_resolution * resolutions
Definition: TileComponent.h:60
grk::TileComponent::alloc_sparse_array
void alloc_sparse_array(uint32_t numres)
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.h:27
grk::TileComponent
Definition: TileComponent.h:31
grk::grk_tile
Definition: TileProcessor.h:180
grk::TileComponent::numresolutions
uint32_t numresolutions
Definition: TileComponent.h:57
grk::TileComponent::numpix
uint64_t numpix
Definition: TileComponent.h:64
grk::TileComponent::m_sa
sparse_array * m_sa
Definition: TileComponent.h:68
grk::TileComponent::m_is_encoder
bool m_is_encoder
Definition: TileComponent.h:67
grk::TileComponent::is_subband_area_of_interest
bool is_subband_area_of_interest(uint32_t resno, uint32_t bandno, uint32_t aoi_x0, uint32_t aoi_y0, uint32_t aoi_x1, uint32_t aoi_y1) const
TileProcessor.h
_grk_image
Image.
Definition: grok.h:880
grk::TileComponentBuffer< int32_t >
grk::sparse_array
Definition: sparse_array.h:70