Grok  10.0.3
PacketManager.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2022 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 
18 #pragma once
19 
20 namespace grk
21 {
23 {
24  public:
25  PacketManager(bool compression, GrkImage* img, CodingParams* cparams, uint16_t tilenumber,
26  J2K_T2_MODE t2_mode, TileProcessor* tileProc);
27  virtual ~PacketManager();
28  PacketIter* getPacketIter(uint32_t poc) const;
35  void enableTilePartGeneration(uint32_t pino, bool first_poc_tile_part, uint32_t tppos);
43  static void updateCompressParams(const GrkImage* p_image, CodingParams* p_cp, uint16_t tile_no);
44 
46  uint32_t getNumProgressions(void);
48  GrkImage* getImage();
51  J2K_T2_MODE getT2Mode(void);
52 
53  private:
68  static void updateCompressTcpProgressions(CodingParams* p_cp, uint16_t num_comps,
69  uint16_t tileno, grk_rect32 tileBounds,
70  uint64_t max_precincts, uint8_t max_res,
71  uint32_t dx_min, uint32_t dy_min, bool poc);
90  static void getParams(const GrkImage* image, const CodingParams* p_cp, uint16_t tileno,
91  grk_rect32* tileBounds, uint32_t* dx_min, uint32_t* dy_min,
92  uint64_t* precincts, uint64_t* max_precincts, uint8_t* max_res,
93  uint32_t** precinctByComponent);
96  uint16_t tileno;
102 };
103 
104 } // namespace grk
Definition: GrkImage.h:25
Definition: PacketManager.h:23
J2K_T2_MODE getT2Mode(void)
Definition: PacketManager.cpp:77
IncludeTracker * includeTracker
Definition: PacketManager.h:97
uint16_t tileno
Definition: PacketManager.h:96
CodingParams * getCodingParams(void)
Definition: PacketManager.cpp:73
void enableTilePartGeneration(uint32_t pino, bool first_poc_tile_part, uint32_t tppos)
Modify the packet iterator for enabling tile part generation.
Definition: PacketManager.cpp:102
grk_rect32 tileBounds_
Definition: PacketManager.h:101
static void updateCompressTcpProgressions(CodingParams *p_cp, uint16_t num_comps, uint16_t tileno, grk_rect32 tileBounds, uint64_t max_precincts, uint8_t max_res, uint32_t dx_min, uint32_t dy_min, bool poc)
Updates the coding parameters.
Definition: PacketManager.cpp:191
static void getParams(const GrkImage *image, const CodingParams *p_cp, uint16_t tileno, grk_rect32 *tileBounds, uint32_t *dx_min, uint32_t *dy_min, uint64_t *precincts, uint64_t *max_precincts, uint8_t *max_res, uint32_t **precinctByComponent)
Get the compression parameters needed to update the coding parameters and all the pocs.
Definition: PacketManager.cpp:108
GrkImage * getImage()
Definition: PacketManager.cpp:65
TileProcessor * getTileProcessor(void)
Definition: PacketManager.cpp:98
J2K_T2_MODE t2Mode
Definition: PacketManager.h:99
grk_rect32 getTileBounds(void)
Definition: PacketManager.cpp:69
static void updateCompressParams(const GrkImage *p_image, CodingParams *p_cp, uint16_t tile_no)
Updates the compressing parameters of the codec.
Definition: PacketManager.cpp:217
TileProcessor * tileProcessor
Definition: PacketManager.h:100
IncludeTracker * getIncludeTracker(void)
Definition: PacketManager.cpp:234
virtual ~PacketManager()
Definition: PacketManager.cpp:81
GrkImage * image
Definition: PacketManager.h:94
uint32_t getNumProgressions(void)
Definition: PacketManager.cpp:90
PacketIter * getPacketIter(uint32_t poc) const
Definition: PacketManager.cpp:94
PacketManager(bool compression, GrkImage *img, CodingParams *cparams, uint16_t tilenumber, J2K_T2_MODE t2_mode, TileProcessor *tileProc)
Definition: PacketManager.cpp:22
PacketIter * pi_
Definition: PacketManager.h:98
CodingParams * cp
Definition: PacketManager.h:95
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
J2K_T2_MODE
Definition: PacketIter.h:36
Coding parameters.
Definition: CodingParams.h:245
Definition: PacketIter.h:56
Packet iterator.
Definition: PacketIter.h:217
Definition: TileProcessor.h:78