Grok  9.7.5
PPMMarker.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  * 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 
24 #include <vector>
25 
26 namespace grk
27 {
28 struct grk_ppx
29 {
30  uint8_t* data_; /* data_ == nullptr => Zppx not read yet */
31  uint32_t data_size_;
32 };
33 
34 class PPMMarker
35 {
36  public:
37  PPMMarker();
38  ~PPMMarker();
39 
47  bool read(uint8_t* headerData, uint16_t header_size);
48 
53  bool merge(void);
54 
55  std::vector<grk_buf8> tile_packet_headers_;
56 
57  private:
59  uint32_t markers_count;
62 
64  uint8_t* buffer;
65 };
66 
67 } /* namespace grk */
Definition: PPMMarker.h:35
std::vector< grk_buf8 > tile_packet_headers_
Definition: PPMMarker.h:55
grk_ppx * markers
ppm markers data (table indexed by Zppm)
Definition: PPMMarker.h:61
PPMMarker()
Definition: PPMMarker.cpp:26
uint8_t * buffer
packet header storage original buffer
Definition: PPMMarker.h:64
bool merge(void)
Merges all PPM markers read (Packed headers, main header)
Definition: PPMMarker.cpp:108
uint32_t markers_count
number of ppm markers (reserved size)
Definition: PPMMarker.h:59
bool read(uint8_t *headerData, uint16_t header_size)
Read a PPM marker (Packed headers, main header)
Definition: PPMMarker.cpp:43
~PPMMarker()
Definition: PPMMarker.cpp:28
Copyright (C) 2016-2022 Grok Image Compression Inc.
Definition: ICacheable.h:20
Definition: PPMMarker.h:29
uint32_t data_size_
Definition: PPMMarker.h:31
uint8_t * data_
Definition: PPMMarker.h:30